html中有lay-filter选择器

<th><input type="checkbox"  name="sel" lay-skin="primary"lay-filter="test" value="{{d[i][0]}}" />

js中直接使用代码

layui.use(['form'], function() {
var form = layui.form;
form.on('checkbox(test)', function(data) {

if(data.elem.checked == true) {
var a = $(data.elem).closest("tr").attr("data-tt-id");
var c = $(data.elem).closest("tr").attr("data-tt-parent-id");
$('input[name="sel"]').each(function() {
var b = $(this).closest("tr").attr("data-tt-parent-id");
var d = $(this).closest("tr").attr("data-tt-id");
if(a == b) {
$(this).prop("checked", "checked");
} else if(c == d) {
$(this).prop("checked", "checked");
}
});
} else if(data.elem.checked == false) {
var a = $(data.elem).closest("tr").attr("data-tt-id");
$('input[name="sel"]:checked').each(function() {
var b = $(this).closest("tr").attr("data-tt-parent-id");
if(a == b) {
$(this).prop("checked", false);
}
});
}
layui.use(['form'], function() {
var form = layui.form;
form.render(); // 更新全部
form.render('select'); // 刷新select选择框渲染
});
});
});

以上代码可以解决layui二级菜单选父级必选子级的功能!

以下为同级的复选框全选操作代码:sel为全选的 lay-filter='sel',列表的复选框为lay-filter='sels'

layui.use(['form'], function() {
var form = layui.form;
form.on('checkbox(sel)', function(data) {
if(data.elem.checked & data.value == "on") {
$(':checkbox[name="sels"]').attr("checked", true);
$(':checkbox[name="sels"]').addClass("layui-form-checked");
} else if(!data.elem.checked & data.value == "on") {
$(':checkbox[name="sels"]').attr("checked", false);
$(':checkbox[name="sels"]').removeClass("layui-form-checked");
}
layui.use(['form', 'element'], function() {
var form = layui.form;
form.render()
});
});

});

经过研究,以下是三级目录的选择:

layui.use(['form'], function() {
  var form = layui.form;
  form.on('checkbox(box)', function(data) {
if(data.elem.checked == true) {
var a = $(data.elem).closest("tr").attr("data-tt-id");
var c = $(data.elem).closest("tr").attr("data-tt-parent-id");
$('input[name="box"]').each(function() {
 var b = $(this).closest("tr").attr("data-tt-parent-id");
 var d = $(this).closest("tr").attr("data-tt-id");

if(a == b) {
  $(this).prop("checked", "checked");
  $('input[name="box"]').each(function() {
var e = $(this).closest("tr").attr("data-tt-parent-id");
var f = $(this).closest("tr").attr("data-tt-id");
if(d == e) {
$(this).prop("checked", "checked");
}
  });

} else if(c == d) {
  $(this).prop("checked", "checked");
  $('input[name="box"]').each(function() {
var e = $(this).closest("tr").attr("data-tt-parent-id");
var f = $(this).closest("tr").attr("data-tt-id");
if(e == a) {
$(this).prop("checked", "checked");
}else if( b == f ){
$(this).prop("checked", "checked");
}
  });
 
 }
});
} else if(data.elem.checked == false) {
var a = $(data.elem).closest("tr").attr("data-tt-id");
$('input[name="box"]:checked').each(function() {
 var b = $(this).closest("tr").attr("data-tt-parent-id");
 var d = $(this).closest("tr").attr("data-tt-id");
 if(a == b) {
  $(this).prop("checked", false);
  $('input[name="box"]').each(function() {
var e = $(this).closest("tr").attr("data-tt-parent-id");
var f = $(this).closest("tr").attr("data-tt-id");
if(d == e) {
$(this).prop("checked", false);
}
  });
 }
});
}
layui.use(['form'], function() {
var form = layui.form;
form.render(); // 更新全部
form.render('select'); // 刷新select选择框渲染
});
  });

});

以下是复选框单选的代码:

$(function() {
layui.use(['form'], function() {
var form = layui.form;
form.on('checkbox(selsRight)', function(data) {
if(data.elem.checked == true) {
$(':checkbox[name="selRight"]').attr("checked", false);
$(':checkbox[name="selRight"]').removeClass("layui-form-checked");
$(this).prop("checked", true);
}
layui.use(['form', 'element'], function() {
var form = layui.form;
form.render()
});
});
});
})

使用layui做二级菜单,选父级必选子级相关推荐

  1. element tree 父级勾选子级也勾选,子级勾选默认父级也勾选, 子级取消勾选不影响父级勾选(前端)

    在做菜单和菜单按钮权限配置这块,用element-UI中的tree组件来做.想选中单个页面,或者单个页面的某个具体按钮,就能把所有上级的父级菜单也勾选上,而且取消菜单按钮的时候还不影响父级菜单的勾选. ...

  2. css二级菜单会然下面遮住_JavaScript实现下拉二级菜单详解

    下拉菜单最终效果如图: 实现原理,通过绝对定位的方式,使下拉列表脱离文档流.通过js或者css来控制鼠标移入后的效果 初始时可以改变 1.display:none;使其隐藏 2.height:0px; ...

  3. 二级菜单HTML原理,CSS多级菜单的实例代码讲解

    这是一个相当炫的功能,让网页看起来像桌面程序,如window的开始菜单.实现原理基本和纯CSS相册差不多,但要注意的事项比较多,让我们一步步来吧. 先来一个非常简单的一级菜单与悬停效果. 菜单一 菜单 ...

  4. 有关二级菜单缓慢效果出现(transition)

    在做二级菜单显示与不显示之间,我一开始用的是默认display:none,然后想着在js里设置单击事件,变为display:block: HTML: <section><img sr ...

  5. Vue3 + Element Plus 实现动态二级菜单

    一.数据库中创建菜单表 注意核心是 parent_menu_id记录了父菜单的 id. 插入一些数据: id name chinese_name parent_menu_id menu_status ...

  6. 3dsmax 选不中export,无法导出,选不中二级菜单

    3dsmax 选不中export,无法导出,选不中二级菜单 鼠标根本无法移动到export / 选不中二级菜单 官方的补丁包可以解决你的问题:解压后打开(3dsMax2018.2_Update.msp ...

  7. html、css 实现二级菜单

    本文中,一级菜单我设计了五个元素(然后给第四个元素设计了二级菜单) html: <nav><ul class="topnav clearfix"><l ...

  8. axure学习帖-中继器二级菜单

    之前制作的二级菜单,使用的是动态面板,制作起来比较复杂(可能是因为我方法不得当),最终呈现效果如下所示: 虽然实现了菜单的功能,但是非常不利于后期的维护.后来得知二级菜单可以使用中继器来完成,于是在网 ...

  9. python制作二级菜单_python之tkinter使用-二级菜单

    # 菜单功能说明:二级菜单 import tkinter as tk from tkinter import messagebox root = tk.Tk() root.title('菜单选择') ...

最新文章

  1. 痛!“做C#半年,挣的不如做AI 1个月?”看到第二句泪目……
  2. 2020未来科学大奖获奖名单揭晓
  3. Java8之lambda表达式的总结
  4. 项目: 推箱子图形化游戏 【C++ / C】
  5. 【机器学习】高斯判别分析
  6. matlab绘图z=sin(x,用matlab编写函数文件,实现绘制函数 z= sin(x+y)/(x+y)在【-2:2,-2:2]的图像...
  7. mysql rpm 安装后修改路径_mysql rpm包安装后修改数据目录
  8. tailwind css_什么是Tailwind CSS,如何将其添加到我的网站或React App中?
  9. 常用加密算法的Java实现(一)
  10. FreeSwitch的Canvas功能
  11. ssh登录慢的解决办法
  12. adb 安卓模拟器 进程端口_Frida初体验安卓CTF逆向
  13. js操作frameset frame 对象
  14. 本地html导入印象笔记,LocalNote,让你像使用本地文件一样使用印象笔记(支持 markdown 格式)...
  15. LabVIEW编程LabVIEW控制GPS例程与相关资料
  16. 使用工具清理Windows的winsxs目录
  17. 聊聊Java那些事儿
  18. miui patchrom项目 生成原厂包问题 /卡死现象For MTK CPU
  19. ThinkPHP门面源码解析
  20. 使用EditPlus技巧

热门文章

  1. 非常好用的友链查询工具
  2. uniapp商城前端源码下载/uniapp多店铺PHP商城源码下载
  3. ArcGIS 中的标准分类方法
  4. 哪款蓝牙耳机音质好?2020国产高性价比高音质蓝牙耳机分享
  5. react条件渲染(类似Vue中的v-show或v-if)
  6. 5G时代不可或缺的关键技术:详解边缘计算参考架构3.0
  7. c# 向已存在的excel中追加数据,oledb的方式
  8. 罗振宇2022“时间的朋友”跨年演讲全文稿(pdf)
  9. netty实现简单的rpc,支持服务集群
  10. 湖南省邵阳市谷歌高清卫星地图下载