本文實例分析了基於jQuery的checkbox全選問題。分享給大家供大家參考,具體如下:
最近開發項目時遇到一個很奇怪的問題,就是checkbox的全選與全不選
使用jQuery的框架。一直是使用
//檢測選中的checkbox $('input[name="abc"]:checked').each(function(){})
但是,發現我需要全選的時候,使用
$('input[name="abc"]').attr('checked',true); $('input[name="abc"]').attr('checked',false);
時,第一次加載的時候管用,再次點擊就只顯示它自己了
但是點擊的時候,查看源代碼,屬性checked已經添加上了
百思不得其解,最後搜索到,原來是 attr屬性 對於checked來說他不會使dom樣式改變,只會將它的屬性值改變,jquery提供了取而代之的方法,如下就可以了
$('input[name="abc"]').prop('checked',true); $('input[name="abc"]').prop('checked',false);
但是,問題又來了,不全選時我檢測不到哪個元素被點擊了,然後就在name上做文章
$('input[name="abc[]:checked"').each(function(i){}); //或者 $('input[name="abc[]"').each(function(i){ var flag = $(this).prop('checked'); if(flag){ //$(this) 即為選中元素 } })
問題解決。
更多關於jQuery相關內容感興趣的讀者可查看本站專題:《jQuery form操作技巧匯總》、《jQuery切換特效與技巧總結》、《jQuery拖拽特效與技巧總結》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》、《jquery選擇器用法總結》及《jQuery常用插件及用法總結》
希望本文所述對大家jQuery程序設計有所幫助。