function checkBoxAll(){ $(".checkboxChoose").bind("click",function(){ var _this=$(this),flag=_this.hasClass("checkAll"); var checkbox=$("[name=bookChoose]:checkbox");//得到所有的checkbox。 if(flag==true){ _this.html("取消全选"); _this.removeClass("checkAll"); checkbox.each(function(){ $(this).attr("checked",true);//对checkbox进行操作 }); }else{ _this.html("全选"); _this.addClass("checkAll"); checkbox.each(function(){ $(this).attr("checked",false);//对checkbox进行操 }); } }); }
问题描述,第一次点击按钮进行全选的时候,checkbox全部选中;再次点击的时候,checkbox取消选中。
第二次,第三次,之后再点击,没有效果,代码也执行。checkbox的checked属性也改变,但是checkbox就是没有
被选中。问题解决办法是把红色部分中的attr方法修改
function checkBoxAll(){ $(".checkboxChoose").bind("click",function(){ var _this=$(this),flag=_this.hasClass("checkAll"); var checkbox=$("[name=bookChoose]:checkbox");//得到所有的checkbox。 if(flag==true){ _this.html("取消全选"); _this.removeClass("checkAll"); checkbox.each(function(){ $(this).prop("checked",true);//对checkbox进行操作 }); }else{ _this.html("全选"); _this.addClass("checkAll"); checkbox.each(function(){ $(this).prop("checked",false);//对checkbox进行操作 }); } }); }</span>