• <small id='NKK27'></small><noframes id='NKK27'>

    <tfoot id='NKK27'></tfoot>

        <bdo id='NKK27'></bdo><ul id='NKK27'></ul>
    1. <i id='NKK27'><tr id='NKK27'><dt id='NKK27'><q id='NKK27'><span id='NKK27'><b id='NKK27'><form id='NKK27'><ins id='NKK27'></ins><ul id='NKK27'></ul><sub id='NKK27'></sub></form><legend id='NKK27'></legend><bdo id='NKK27'><pre id='NKK27'><center id='NKK27'></center></pre></bdo></b><th id='NKK27'></th></span></q></dt></tr></i><div id='NKK27'><tfoot id='NKK27'></tfoot><dl id='NKK27'><fieldset id='NKK27'></fieldset></dl></div>
    2. <legend id='NKK27'><style id='NKK27'><dir id='NKK27'><q id='NKK27'></q></dir></style></legend>

      1. Layui treetable 复选框联动解决方案

        时间:2023-12-07

            <tbody id='V9u4e'></tbody>
          <legend id='V9u4e'><style id='V9u4e'><dir id='V9u4e'><q id='V9u4e'></q></dir></style></legend>
            <bdo id='V9u4e'></bdo><ul id='V9u4e'></ul>
              <i id='V9u4e'><tr id='V9u4e'><dt id='V9u4e'><q id='V9u4e'><span id='V9u4e'><b id='V9u4e'><form id='V9u4e'><ins id='V9u4e'></ins><ul id='V9u4e'></ul><sub id='V9u4e'></sub></form><legend id='V9u4e'></legend><bdo id='V9u4e'><pre id='V9u4e'><center id='V9u4e'></center></pre></bdo></b><th id='V9u4e'></th></span></q></dt></tr></i><div id='V9u4e'><tfoot id='V9u4e'></tfoot><dl id='V9u4e'><fieldset id='V9u4e'></fieldset></dl></div>
              • <small id='V9u4e'></small><noframes id='V9u4e'>

                • <tfoot id='V9u4e'></tfoot>

                • treetable.js没有checked做联动。于是自己基于treetable开发的一个小功能,希望能和大家一起交流一下。
                  1. 在当前HTML文档checked监听函数中增加以下代码
                          //联动
                          table.on('checkbox(quan_list)', function(obj){
                              //console.log(obj);
                              //当前id
                              var id = obj.data.id;
                              var status = obj.checked;
                              //所有子类选中
                              children_check(id,status);
                              //所有父类选中
                              parent_check(id,status);
                          });
                  2. 当前HTML文档增加两个自定义函数(名字可以随便起)
                  /**
                   * 递归
                   * 当前权限下所有的子权限
                   * @param id 当前权限id
                   * @param status  checked 状态
                   */
                  function  children_check(id,status){
                  	//所有子类
                  	var children_list = $('.layui-table').find('span[lay-tpid='+id+']');
                  	for (var i=0;i<children_list.length;i++){
                  		var this_id = $(children_list[i]).attr('lay-tid');
                  		if($('.layui-table').find('span[lay-tpid='+this_id+']').length > 0){
                  			children_check(this_id,status);
                  		}
                  	}
                  	children_list.parents('td').prev().find('input').next().toggleClass("layui-form-checked");;
                  	children_list.parents('td').prev().find('input').prop('checked', status);
                  }
                   
                   
                  /**
                   * 递归
                   * 当前权限下所有的父元素
                   * @param id 当前权限id
                   * @param status  checked 状态
                   */
                  function  parent_check(id,status){
                  	// 父级
                  	var pid = $('.layui-table').find('span[lay-tid='+id+']').attr('lay-tpid');
                  	//最高层停止
                  	if(pid == 0){
                  		return false;
                  	}
                  	//查看同级元素是否还有选中的
                  	var x_list = $('.layui-table').find('span[lay-tpid='+pid+']');
                  	var check_num = 0
                  	for (var i=0;i < x_list.length;i++){
                  		if($(x_list[i]).parents('td').prev().find('input').prop('checked')){
                  			check_num ++;
                  		}
                  	}
                  	//修改父级状态
                  	var parent_list = $('.layui-table').find('span[lay-tid='+pid+']');
                  	if(status){
                  		//选中样式
                  		if(check_num == 1){
                  			parent_list.parents('td').prev().find('input').next().addClass("layui-form-checked");
                  			parent_list.parents('td').prev().find('input').prop('checked', true);
                  			//查看父级是否还有父级
                  			parent_check(pid,status);
                  		}
                  	}else{
                  		if(check_num == 0) {
                  			parent_list.parents('td').prev().find('input').next().removeClass("layui-form-checked");
                  			parent_list.parents('td').prev().find('input').prop('checked', false);
                  			//查看父级是否还有父级
                  			parent_check(pid,status);
                  		}
                  	}
                   
                  }
                  最终效果:
                  上一篇:Javascript attachEvent传递参数的办法 下一篇:没有了

                  相关文章

                • <tfoot id='qdtnb'></tfoot>

                    <small id='qdtnb'></small><noframes id='qdtnb'>

                  1. <i id='qdtnb'><tr id='qdtnb'><dt id='qdtnb'><q id='qdtnb'><span id='qdtnb'><b id='qdtnb'><form id='qdtnb'><ins id='qdtnb'></ins><ul id='qdtnb'></ul><sub id='qdtnb'></sub></form><legend id='qdtnb'></legend><bdo id='qdtnb'><pre id='qdtnb'><center id='qdtnb'></center></pre></bdo></b><th id='qdtnb'></th></span></q></dt></tr></i><div id='qdtnb'><tfoot id='qdtnb'></tfoot><dl id='qdtnb'><fieldset id='qdtnb'></fieldset></dl></div>
                      <bdo id='qdtnb'></bdo><ul id='qdtnb'></ul>

                      <legend id='qdtnb'><style id='qdtnb'><dir id='qdtnb'><q id='qdtnb'></q></dir></style></legend>