1. 程式人生 > >jquery使用attr,removeAttr二次無法選中的問題解決辦法

jquery使用attr,removeAttr二次無法選中的問題解決辦法

大概需求是這樣,我一張頁面有個按table的迴圈,每個table裡第一行是個“全選”按鈕,點選此按鈕可以控制下面的checkbox反選,第二行有若干checkbox,也就是第一行要控制的那些多選按鈕。一開始使用的juqery方法attr和removeAttr,反現在最新的jquery裡,當執行完removeAttr後,再使用attr("checked",true)已經無效了。經查是新版本的jquery使用prop方法了。以下是程式碼部分。

大概程式碼如下:

function selBox(oid){  
  $("#offer"+oid+" input[name='orderno']").each(function(){ 
  if($(this).is(':checked')) 
  {     
    $(this).prop("checked",false); 
  } 
  else 
  { 
    $(this).prop("checked",true); 
  } 
  });
}

上面是要執行的js函式,在table裡的全選按鈕新增點選處理即可,如:

<table>
   <tbody>
    <tr>
     <td><input type="button" onclick="selBox(1)" value="全選" /></td>
    </tr>
    <tr id="offer1">
     <td>
<input type="checkbox" name="orderno" value="1" />
<input type="checkbox" name="orderno" value="2" />
<input type="checkbox" name="orderno" value="3" />
      </td>
    </tr>
   </tbody>
  </table>