jquery attr()方法獲取input的checked屬性問題


問題:經常使用jQuery插件的attr方法獲取checked屬性值,獲取的值的大小為未定義,此時可以用prop方法獲取其真實值,下面介紹這兩種方法的區別:

1.通過prop方法獲取checked屬性,獲取的checked返回值為boolean,選中為true,否則為flase

  1. <input type= "checkbox" id="selectAll" οnclick="checkAll()">全選
  2. function checkAll()
  3. {
  4. var checkedOfAll=$("#selectAll").prop("checked");
  5. alert(checkedOfAll);
  6. $( "input[name='procheck']").prop("checked", checkedOfAll);
  7. }


2.如果使用attr方法獲取時,如果當前input中初始化未定義checked屬性,則不管當前是否選中,$("#selectAll").attr("checked")都會返回undefined;

<input type="checkbox" id="selectAll" οnclick="checkAll()" >全選 


如果當前input中初始化已定義checked屬性,則不管是否選中,$("#selectAll").attr("checked")都會返回checked.

  1. <input type= "checkbox" id="selectAll" οnclick="checkAll()" checked>全選
  2. function checkAll()
  3. {
  4. var checkedOfAll=$("#selectAll").attr("checked");
  5. alert(checkedOfAll);
  6. $( "input[name='procheck']").attr("checked", checkedOfAll);
  7. }


總結,如果使用jquery,應使用prop方法來獲取和設置checked屬性,不應使用attr

 

簡單的全選和取消全選

  1. //全選單選框
  2. function CheckAll(obj) {
  3. if ($(obj).prop("checked")) {
  4. $( "#act_list input:checkbox").each(function () {
  5. $( this).prop("checked", true);
  6. });
  7. }
  8. else {
  9. $( "#act_list input:checkbox").each(function () {
  10. $( this).prop("checked", false);
  11. });
  12. }
  13. }

 

 

 

你有困難我幫忙,我住隔壁我姓王。----------------- 你隔壁的老王宣。


免責聲明!

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



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