在jquery 1.8.x中的版本,我们对于checkbox的选中与不选中操作如下:
判断是否选中
$('#checkbox').prop('checked')
设置选中与不选中状态:
$('#checkbox').attr('checked',true)
$('#checkbox').attr('checked',false)
但此方法在jquery1.9.1中,有些处理不一样
IE10,Chrome,FF中,对于选中状态,第一次$('#checkbox').attr('checked',true)可以实现
但是当通过代码清除选中,下次再通过代码 $('#checkbox').attr('checked',true) 去选中时
虽然代码中有checked='checked',但是画面表现都没有打勾。
IE8,IE6下无此问题。
后来调查了相关的资料,发现现在attr('checked',true)都换成prop('checked',true)
下面给出个JQ1.8.x以后 的全选反选的JQ例子
JS代码部分如下
$(function(){ $("#select_yes").click(function(){ $("input[name=id]").each(function(){ $(this).prop("checked",true); }); }); $("#select_no").click(function(){ $("input[name=id]").each(function(){ $(this).prop("checked",false); }); }); });
<input type="checkbox" value="1" name="id"><br/> <input type="checkbox" value="2" name="id"><br/> <input type="checkbox" value="3" name="id"> <br/> <input type="checkbox" value="4" name="id"> <br/> <input type="checkbox" value="5" name="id"> <br/> <input type="checkbox" value="6" name="id"> <br/> <input type="checkbox" value="7" name="id"> <br/>
<a href="javascript:void(0);" id="select_yes">全选</a> <a href="javascript:void(0);" id="select_no">返选</a>