以下は、すべてを選択してすべてを選択解除するサイクルを1回だけ実行する私のコードです。構文を.change
の代わりにに変更すると、正常に動作します.on('change')
。.change
jquery の 1.8.3 バージョンまでは動作しますが、それ以降は動作しません。
<div id="mainframe" align="center">
<div align="left"><strong>Select All CheckBox Demo.</strong></div>
<table border="0" cellpadding="5" cellspacing="1" class="table">
<th><input type="checkbox" id="selectall"/></th>
<th>Programming Language</th>
<th>Rating</th>
<tr>
<td align="center"><input type="checkbox" class="case" name="case" value="1"/></td>
<td>PHP</td>
<td>5</td>
</tr>
<tr>
<td align="center"><input type="checkbox" class="case" name="case" value="2"/></td>
<td>JSP</td>
<td>4</td>
</tr>
<tr>
<td align="center"><input type="checkbox" class="case" name="case" value="3"/></td>
<td>ASP</td>
<td>3</td>
</tr>
</table>
</div>
$("#selectall").on('change',function () {
if($(this).is(":checked")){
$('.case').attr('checked',true);
}else{
$('.case').attr('checked',false);
}
});