在jQuery中应该使用prop方法来获取和设置checked属性,不应该使用attr,需要的朋友可以参考下
1、prop方法获取、设置checked属性
<input type="checkbox" name="checkboxMain" onclick="CheckAll(this);" />
function CheckAll(obj) {
//获取checked属性
if ($(obj).prop("checked")) {
//设置checked属性
$("input[name='checkboxall']").prop("checked", true);
} else {
//设置checked属性
$("input[name='checkboxall']").prop("checked",false);
}
}
1 当input控件checkbox设置了checked属性时,无论checked=”“或
checked=”checked”,(obj).prop(“checked”)的结果都是true;2当input控件checkbox没设置checked属性时,(obj).prop(“checked”)的结果是false。
设置(“input[name=′checkboxall′]”).prop(“checked”,true)时,checkbox会被选中;设置(“input[name=’checkboxall’]”).prop(“checked”, false)时,checkbox不会被选中;
2、attr方法获取、设置checked属性
<input type="checkbox" id="selectAll" onclick="checkAll()" >
如果当前input中初始化未定义checked属性,则不管当前是否选中,
$(“#selectAll”).attr(“checked”)都会返回undefined;
<input type="checkbox" id="selectAll" checked="" onclick="checkAll()" >全选
<input type="checkbox" id="selectAll" checked="checked"
onclick="checkAll()" >全选
如果当前input中初始化定义了checked属性,无论checked=”“或
checked=”checked”,当前checkbox都处于选中状态,
$(“#selectAll”).attr(“checked”)都会返回”checked”;
3、总结
在jquery中应该使用prop方法来获取和设置checked属性,不应该使用attr.