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

$("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的时候,让他不触发这个事件 或者修改一下这个方法, 感谢各位大佬

给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);

});

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

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

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

$(()=>{
    //单选判定是否全选按钮是否要选中
    $("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);
            });     
        }
    });
});

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

该方法是需要加一个判断的,如果点击的是第一个td该方法直接结束就行了,如果点击的是其他td那么选中

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