当前位置: 首页 > >

jquery 使用attr方法对checkBox进行全选和反选操作

发布时间:

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进行操作
?? ??? ??? ?});
?? ??? ??? ?
?? ??? ?}
?? ?});
}



友情链接: