为了账号安全,请及时绑定邮箱和手机立即绑定

js table的一点问题 也不知道该怎么起标题 谢谢各位大佬了

js table的一点问题 也不知道该怎么起标题 谢谢各位大佬了

宝慕林4294392 2019-04-18 19:15:36
$("tr").first().nextAll().click(function () {$("input[name='chkId']:checkbox").attr('checked',false); $("#chkAll").attr('checked',false); $(this).children().first().children().attr("checked", true);});单击tr选中当前行的第一个td的事件, 但是现在有个需求是一个点选 对多条进行操作的功能 就和这个冲突了 只能全选, 能不能把这个修改一下 就是如果我点击每一行第一个td 就是那个checkbox的时候,让他不触发这个事件 或者修改一下这个方法, 感谢各位大佬
查看完整描述

8 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

给ajax刷上去的tr加一个class 用于区分标题栏和数据
$(".trEmp td").nextAll().click(function () {

$("input[name='chkId']:checkbox").attr('checked',false); 
$("#chkAll").attr('checked',false); 
$(this).parent().children().first().children().attr("checked", true);

});

这样就可以了 研究了大半天 终于可以了 不知道有没有人用的上 我就放这边了


查看完整回答
反对 回复 2019-05-13
?
慕田峪9158850

TA贡献1794条经验 获得超8个赞

点选的时候,加上阻止冒泡就行了,这样父元素就获取不到点击事件了


查看完整回答
反对 回复 2019-05-13
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

全选、反全选和单独选中要分开写

$(()=>{
    //单选判定是否全选按钮是否要选中
    $("tbody").on("click","[type=checkbox]",()=>{   //给所有tbody下的checkbox 绑定单击事件
        var $chbs=$("tbody").find("[type=checkbox]");
        var c=0;
        for(var i=0;i<$chbs.length;i++){
            if($($chbs[i]).prop("checked")==true){//每一次点击都要判定是否所有的checkbox都被选中,统计选中的数量
                c++;
                if(c==$chbs.length){// 如果所有的checkbox都被选中,全选按钮也被选中
                    $("#selAll").prop("checked",true);
                }
            }else{
                $("#selAll").prop("checked",false);// 一旦有一个没被选中,全选按钮设置未选中,退出循环
                break;
            }
        }
    })
});
//全选和反全选
$(()=>{
    $("tbody").on("change","#selAll",e=>{// 给全选按钮单独绑定事件
        var $chbs=$("tbody").find("[type=checkbox]"); // 找到所有的checkbox·
        if($(e.target).is(":checked")){ // 如果全选选中,所有的checkbox都被选中
            $chbs.each(function(){             
                $(this).prop("checked",true);
            });
        }else{
            $chbs.each(function(){// 否则,所有的checkbox都不能选中
                $(this).prop("checked",false);
            });     
        }
    });
});


查看完整回答
反对 回复 2019-05-13
?
撒科打诨

TA贡献1934条经验 获得超2个赞

使用bootstrap table 会让你省很多事,而且你会喜欢上它的,只能说真的好用


查看完整回答
反对 回复 2019-05-13
?
守着一只汪

TA贡献1872条经验 获得超4个赞

$("tr td").first().nextAll().click(function () { 这样就是给所有tr下的td绑定事件,然后里面判断是否是全选,是否是第一个checkbox就好了

查看完整回答
反对 回复 2019-05-13
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

你写单击tr其实点击的就是其中的td $("tr td")选择器改一下就行了 这样然后根据td里面的标识进行比较就行了

查看完整回答
反对 回复 2019-05-13
?
翻阅古今

TA贡献1780条经验 获得超5个赞

阻止默认事件 或者你直接用组件吧


查看完整回答
反对 回复 2019-05-13
  • 8 回答
  • 0 关注
  • 858 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号