abstract:本文實(shí)例分析了基于jQuery的checkbox全選問(wèn)題。分享給大家供大家參考,具體如下:最近開(kāi)發(fā)項(xiàng)目時(shí)遇到一個(gè)很奇怪的問(wèn)題,就是checkbox的全選與全不選使用jQuery的框架。一直是使用//檢測(cè)選中的checkbox $('input[name="abc"]:checked').each(function(){})但是,發(fā)現(xiàn)我需要全選的時(shí)候,使用$(
本文實(shí)例分析了基于jQuery的checkbox全選問(wèn)題。分享給大家供大家參考,具體如下:
最近開(kāi)發(fā)項(xiàng)目時(shí)遇到一個(gè)很奇怪的問(wèn)題,就是checkbox的全選與全不選
使用jQuery的框架。一直是使用
//檢測(cè)選中的checkbox $('input[name="abc"]:checked').each(function(){})
但是,發(fā)現(xiàn)我需要全選的時(shí)候,使用
$('input[name="abc"]').attr('checked',true); $('input[name="abc"]').attr('checked',false);
時(shí),第一次加載的時(shí)候管用,再次點(diǎn)擊就只顯示它自己了
但是點(diǎn)擊的時(shí)候,查看源代碼,屬性checked已經(jīng)添加上了
百思不得其解,最后搜索到,原來(lái)是 attr屬性 對(duì)于checked來(lái)說(shuō)他不會(huì)使dom樣式改變,只會(huì)將它的屬性值改變,jquery提供了取而代之的方法,如下就可以了
$('input[name="abc"]').prop('checked',true); $('input[name="abc"]').prop('checked',false);
但是,問(wèn)題又來(lái)了,不全選時(shí)我檢測(cè)不到哪個(gè)元素被點(diǎn)擊了,然后就在name上做文章
$('input[name="abc[]:checked"').each(function(i){}); //或者 $('input[name="abc[]"').each(function(i){ var flag = $(this).prop('checked'); if(flag){ //$(this) 即為選中元素 } })
問(wèn)題解決。
更多關(guān)于基于jQuery的checkbox全選問(wèn)題分析請(qǐng)關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!