在jsp中使用jquery实现了 checkbox的选择
在做checkbox的全选时 遇到了问题 第一次全选有效 取消有效 第二次全选时 无效
具体情况
jsp
$("#checkFireAll").click(function() {
if($(this).is(":checked")){
$(".checkFire").attr("checked",this.checked);
}else{
$(".checkFire")..removeAttr("checked");
}
});
checkFireAll是全选按钮id
checkFire是下属的 按钮 class
这段代码第一次全选和取消都有效 第二次无效
原因
attr设置checked属性不同浏览器间存在差异使用prop("checked",true)方法设置,可以兼容各个浏览器
解决方法
方法一
在for each中给每个下属的checkbox设置 checked 为 true false
$("#checkFireAll").click(function() {
if($(this).is(":checked")){
$(".checkFire").each(function() {
$(this)[0].checked = true;
});
}else{
$(".checkFire"+page).each(function() {
$(this)[0].checked = false;
});
}
});
方法二:
$(selector).prop('checked',true); //选中
//取消选中
$(selector).removeProp('checked');
$(selector).prop('checked',false); |