首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

谷歌浏览器checkbox第二次选择无效

谷歌浏览器checkbox第二次选择无效

在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);
返回列表