jQuery 操作復選框(checkbox) attr checked不起作用


這天用到jQuery功能,想實現一個簡單的復選框動態全選或全不選,結果測試發現 attr(‘checked’,'checked’);與attr(‘checked’,true); 都不好使,要么第一次成功了,第二次調用就沒反應,完全不起作用了。那到底是什么原因呢?

害得‘跑客教授’到處到網上搜 jQuery checkbox的操作,動態選擇的相關文章,都寫着是這樣的實現代碼


<span style="font-size:18px;">$('input[type=checkbox]').attr('checked','checked');//全選,設置屬性
$('input[type=checkbox]').attr('checked',true);//全選,設置屬性,通過true布爾值形式
$('input[type=checkbox]').attr('checked',false);//不選擇,布爾值形式
$('input[type=checkbox]').removeAttr('checked','checked');//不選選,刪除屬性</span>

但是測試結果發現,屢試不爽啊,選擇一次全選,再調用一次反選,再去調用全選就沒效果了。
難道是 removeAttr 的原因?還是‘跑客教授’使用過新的 jQuery 1.9.1版本。(還是說我要使用原生的javascript代碼來完成這項工作呢?)

這些都不是理由,理由應該 是自己沒有用好。不可能這么牛比的框架這么簡單的功能都不能實現(也不要輕意懷疑瀏覽器的問題)

最終解決方案

還是到官網,搜索了’checkbox’,找到一文章,仔細查看了嚇,有一個類似的操作是


<span style="font-size:18px;">$('obj').prop('checked',true);
$('obj').prop('checked',false);</span>

好了,擦亮你的眼睛,沒錯最后用的是 prop方法操作一切就OK啦。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM