layui 复选框checkbox 全选写法
前语:本来我是不想写layui框架的博客的,有的时候数据经过layui渲染后原生的写法就取不到值了,一定要用它框架的写法,实在蛋疼,故写之,以后用到可以省点时间去度娘!
HTML:
<div id="top-<?php echo !empty($val['menu_id'])?$val['menu_id']:0; ?>" style="margin-top: 1%;">
<!-- 菜单, 注意这里一定要加上标签 lay-filter,下面要用这参数 -->
<input lay-filter="menu" lay-skin="primary" type="checkbox" value="<?php echo !empty($val['menu_id'])?$val['menu_id']:0; ?>" title="<?php echo !empty($val['menu_name'])?$val['menu_name']:'-'; ?>">
<!-- 分类 -->
<div class="" style="margin-left: 4%;">
<?php foreach($val['category_list'] as $v){ ?>
<input name="category" lay-skin="primary" type="checkbox" value="<?php echo !empty($v['category_id'])?$v['category_id']:0; ?>" title="<?php echo !empty($v['category_name'])?$v['category_name']:'-'; ?>">
<?php } ?>
</div>
</div>
JS:
// layui框架写法(全选)
layui.use('form', function(){
var form = layui.form;
//这里的 menu 就是 HTML上面的lay-filter值,就固定一个值就好
form.on('checkbox(menu)', function(data){
var id = data.value;
//这里实现勾选
$('#top-'+id+' input[name=category]').each(function(index, item){
item.checked = data.elem.checked;
});
form.render('checkbox');
// console.log(data.elem); //得到checkbox原始DOM对象
// console.log(data.elem.checked); //是否被选中,true或者false
// console.log(data.value); //复选框value值,也可以通过data.elem.value得到
// console.log(data.othis); //得到美化后的DOM对象
});
});
// 获取选中的分类值
var check_arr = [];
$('input[name=category]:checked').each(function(){
check_arr.push($(this).val());
});
if(check_arr.length == 0){
layer.msg("还未选择分类", {icon: 7, time:1500});return;
}
效果图:
你的坚持 ------ 终将美好 ~
分类:
layui 前端框架
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术