jQuery1.9.1针对checkbox的调整

在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);
    });
  });
});

HTML代码部分如下

    <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> 


你可能感兴趣的:(jquery,checkbox)