這天用到
jQuery功能,想實(shí)現(xiàn)一個(gè)簡(jiǎn)單的復(fù)選框動(dòng)態(tài)全選或全不選,結(jié)果測(cè)試發(fā)現(xiàn)
害得‘跑客教授’到處到網(wǎng)上搜 jQuery
checkbox的操作,動(dòng)態(tài)選擇的相關(guān)文章,都寫著是這樣的實(shí)現(xiàn)代碼
1
2
3
4
$('input[type=checkbox]').attr('checked','checked');//全選,設(shè)置屬性
$('input[type=checkbox]').attr('checked',true);//全選,設(shè)置屬性,通過true布爾值形式
$('input[type=checkbox]').attr('checked',false);//不選擇,布爾值形式
$('input[type=checkbox]').removeAttr('checked','checked');//不選選,刪除屬性
但是測(cè)試結(jié)果發(fā)現(xiàn),屢試不爽啊,選擇一次全選,再調(diào)用一次反選,再去調(diào)用全選就沒效果了。
難道是 removeAttr 的原因?還是‘跑客教授’使用過新的 jQuery 1.9.1版本。(還是說我要使用原生的
javascript代碼來完成這項(xiàng)工作呢?)
這些都不是理由,理由應(yīng)該 是自己沒有用好。不可能這么牛比的框架這么簡(jiǎn)單的功能都不能實(shí)現(xiàn)(也不要輕意懷疑瀏覽器的問題)
最終解決方案
還是到官網(wǎng),搜索了’checkbox’,找到一文章,仔細(xì)查看了嚇,有一個(gè)類似的操作是
1
2
3
4
$('obj').attr('checked',true);
$('obj').prop('checked',true);
$('obj').attr('checked',false);
$('obj').prop('checked',false);
好了,擦亮你的眼睛,沒錯(cuò)最后用的是
prop方法操作一切就OK啦。
轉(zhuǎn)自:
http://www.paobuke.com/develop/javascript/pbk849.html