jquery使用attr,removeAttr二次無法選中的問題解決辦法
阿新 • • 發佈:2019-01-27
大概需求是這樣,我一張頁面有個按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>