欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

layerUI动态添加的checkbox全选无法选中以及一些其他元素动态添加后事件不可用

程序员文章站 2024-02-05 13:47:40
...

一般都是事件的绑定方式不对,下载的UI框架一般都是用的click绑定的事件,但是变成动态添加的dom后,需要用on事件委托来绑定事件,UI框架的js通常写在公用的js里面的
layerUI动态添加的checkbox全选无法选中以及一些其他元素动态添加后事件不可用

    tableCheck = {
        init:function  () {
              // $(".layui-form-checkbox").click(function(event) {  //没改之前的
                $("tbody").on("click", ".layui-form-checkbox", function(e) {//改变绑定方式(改变之后的)

                if($(this).hasClass('layui-form-checked')){
                    $(this).removeClass('layui-form-checked');
                    if($(this).hasClass('header')){
                        $(".layui-form-checkbox").removeClass('layui-form-checked');
                    }
                }else{
                    $(this).addClass('layui-form-checked');
                    if($(this).hasClass('header')){
                        $(".layui-form-checkbox").addClass('layui-form-checked');
                    }
                }
                
            });
        },
        getData:function  () {
            var obj = $(".layui-form-checked").not('.header');
            var arr=[];
            obj.each(function(index, el) {
                arr.push(obj.eq(index).attr('data-id'));
            });
            return arr;
        }
    }

其他事件也是一样的道理,找到相应的事件,改变绑定方式,就可以用了