layui table表格的复选框checkbox设置部分为不可选

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

需求:如上图,某些数据禁用删除功能,那么全选时,这些数据前面的复选框也不能选。

实现:layui数据表格中设置了字段为 type:checkbox 但是想要实现部分不显示,不可选的功能。layui内置没有该功能,所以只能自己实现。

table.render({
    elem: '#junTable',
    url: '',
    cols: [[
        {
            templet: "#checkbd",
            title: "<input type='checkbox' name='siam_all' title='' lay-skin='primary' lay-filter='siam_all'> ",
            width: 60,
        }
        ,{ type: 'numbers', title: '序号', fixed: 'left' }
        , { field: 'z_id', title: 'id' }
    ]],
    page: true,
    limit: 10,
    ...
    done: function(res){
        //防止全选后表格翻页,复选框选中样式依然存在
        $("input[name='siam_all']").prop("checked", false);                
        form.render("checkbox");
    }
});

<script type="text/html" id="checkbd">
    {{#  if (d.status=== 1){ }}// 这里是判断要不要显示的条件
    <input type="checkbox" name="siam_one" title="" lay-skin="primary" data-id = "{{ d.noteId }}">
    {{#  } }}
</script>

        table.render() 中的 cols 是设置表头复选框,<script>标签中的判断是设置表格数据中的复选框显示。

        到这里就可以部分数据不显示复选框了,但是全选功能和获取id的功能还是不正常,需要做以下操作:

设置全选功能:

form.on("checkbox(siam_all)", function () {
    var status = $(this).prop("checked");
    $.each($("input[name=siam_one]"), function (i, value) {
        $(this).prop("checked", status);
    });
    form.render();
});

获取选中的数据:

var ids = [];
$.each($(".layui-table-fixed-l input[name=siam_one]:checked"), function (i, value) {
    ids[i] = $(this).attr("data-id");  // 如果需要获取其他的值 需要在模板中把值放到属性中 然后这里就可以拿到了
});

注意:

        如果在cols中给 #checkbd 设置了 fixed:left,那么获取选中数据时 input[name=siam_one]:checked 前面一定要 加上“.layui-table-fixed-l”,因为给复选框设置了 固定 样式,input[name=siam_one]:checked 不仅在 layui-table-body layui-table-main 中存在,在layui-table-fixed layui-table-fixed-l 中也存在,不加的话,全选后取消部分复选框,得到的值仍然是全部的复选框


        网上搜索到的做法是:使用done函数禁用。但是有瑕疵,全选不可用,并且不可选状态和可选状态的复选框样式很接近,建议重写不可选的样式。

转载:layui数据表格的checkbox设置部分为不可选_璞~的博客-CSDN博客_checkbox设置不可选

layui数据表格checkbox部分不可,全功能正常 效果图 说明 layui内置没有该功能,所以只能自己实现。 在layui数据表格设置了字段为type:checkbox 但是想要实现部分不显示,不可的功能。 table.render,cols部分 let data_cols = [[ { templet: "#checkbd", title: "<input type='checkbox' name='siam_all' title='' lay-skin='primary' 阅读详情

相关推荐

Layui checkbox/反/取消全(十一行代码实现)

话不多说,先展示效果图,如果看官觉得合适,接下来还有源码和实现详解等着您 一、效果图

ChauncyTan的博客 1万+

使用jquery动态设置按钮回显 但是没有回显

使用jquery动态设置复选框发现,复选框不勾

wuzj1314的博客 2644

layuitable翻页checkbox不缓存的问题

layuitable翻页checkbox不缓存的问题 出现的问题 layui的数据表格table开启复选框,翻页后前一页的checkbox数据丢失 解决办法 代码 //一般直接写在一个js文件中 layui.use([ "table" ], function(args) { var quanju = new Array();//全局 var huancun = new Arra...

weixin_43821151的博客 2256

layui checkbox 的使用

checkbox 的使用 由于layui.form的获取到的表单对象缺少多层级和数组格式的json对象,所以在使用的时候需要进行手动转化。 一、择器方式 通过对checkbox打包成一个块,通过择器进行操作。(比较简单) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>layui demo</title> <meta conten

uni的博客 6208

前端layui table表格事件,以及常见模块

layui table表格事件,以及常见模块

小5聊的博客 5055

layui table复选框禁用

table的done函数添加如下代码 且加上自己的逻辑代码 done: function (res, curr, count) { let state = ""; for (var i in res.rows) { let item = res.rows[i]; if ((item.approveStatus === 1)) {// 这里是判断需要禁用的条件(如:状态为0的) // check

lizaiismy的博客 2419

layui数据表格checkbox设置部分不可

问题:在layui数据表格设置了字段为type:checkbox 但是想要实现部分不显示,不可的功能。 layui内置没有该功能,所以只能自己实现。 使用templet实现 table.render({ elem: '#junTable', url: '', cols: [[ { templet: "#checkbd", title: "<input type='checkbox' name='s.

qq_39702981的博客 3831

layui数据表格checkbox设置部分不可

问题:在layui数据表格设置了字段为type:checkbox 但是想要实现部分不显示,不可的功能。 layui内置没有该功能,所以只能自己实现。 使用templet实现 table.render({ elem: '#junTable', url: '', cols: [[ { templet: "#checkbd", title: "<input type='checkbox' name='siam.

陌小白的博客 5396

layui.table(表格)跨页多

layui版本:2.5.4 使用数据表格时可能会需要在翻页时保留各个页面中行的信息,效果如下。 效果演示 实现思路 实现思路大致分为以下三步 1.定义两个全局变量用于保存中行的id,以及当前页所有行的id(全时使用) 2.监听表格复选框的勾事件,将中行的信息存入全局变量(包括全) 3.在表格加载完成的回调方法(done)中根据保存的变量回显中行 示例代码 layui.use('ta...

zjh19961213的博客 5712

layui 实现表单、表格复选框checkbox的全功能

一、layui 实现表单中多框的全功能,代码如下: // 动态添加项 $("#InfoInCardCheck").append(`<label class="layui-form-label">请择:</label> <input lay-skin="primary" type="checkbox" name="type" lay- filter="allInputUpdate" i.

zcc的博客 1万+

layui table.render开启复选框设置

记录:layui table.render开启复选框checkbox,并根据返回值设置复选框中。 HTML代码: <div class="layui-form-item"> <label class="layui-form-label">物料</label> <div class="layui-input-block"> <table class="layu

Light 6021

layui table复选框禁止某几条勾

Layui table复选框禁止勾 var list = [0,1,3];//获得禁用的tr的行index //遍历设置复选框禁用for(var i=0;i<list.length;i++){ $(".layui-table tr[data-index="+list[i]+"] input[type='checkbox']").prop('disabled',true); ...

lyxyldd的博客 7306

layui表格复选框动态显示

描述: 根据后台返回的数据, 1.判断表格数据的是否可编辑; 2.判断每一行数据是否能被中提交; 可编辑性 idEdit是标识字段:1为可编辑,0为不可编辑。 {field: 'itemValue', title: '数据', edit:"text",editFn:function (data) { return data["isEdit"]=="1";//true为可编辑 ...

weixin_45456250的博客 2851

layui数据表格checkbox部分不可功能

2、判断checkbox是否择的条件和css样式。

ww981580010的博客 1393

layui table 保存状态赋值checkbox

layui table 保存状态赋值checkbox 在项目中遇到一个问题,layuicheckbox复选框择之后切换分页返回时择状态消失,需要重新给checkbox赋值、 设置一个缓存set,保存中项 var checkedSet = new Set(); 监听点击check事件 table.on('checkbox(dataguid1Table)', function(obj...

闷声吃大鸡的博客 4368

解决Layui择全部,换页checkbox复选框重新勾的问题

在项目中发现layui数据表格复选框checkbox的时候,转到新的一页勾,上一次的勾不会中,即没有记忆功能。导致跟后台交互传递参数不全问题。 为了解决此问题,我们可以借助缓存,每勾一个,保存到缓存变量数组中,取消勾的时候,删除缓存的对应项。 &lt;%@ page language="java" contentType="text/html; charset=UTF-8" pa...

huangbaokang的博客 1万+

layui table框的修改_layui默认tableCheckBox复选框方法

方法一:如何根据条件判断是否默认table表格前面的复选框table.render({elem: '#userTable', url: '../sysRole/getUserList', title: '用户列表', page: true //开启分页, cols: [[{type:'checkbox'}, {field: 'userName',sort: true, title: '用户名称...

weixin_39982269的博客 1339

PHP使用Layui解决表格复选框的问题

PHP使用Layui解决表格复选框的问题

Peter_Pan0_0的博客 1553

layuitablecheckbox复选框,跨页保存中赋值状态

参考链接 https://blog.csdn.net/HuperSan/article/details/99896878 https://blog.csdn.net/weixin_43821151/article/details/103807037 1 核心就是声明全局变量用来缓存checkbox的操作。 var quanju = new Array();//全局 var huancun = new Array();//缓存 2 并且在分页的done属性中编写函数,让它每次重载分页时根据全局变量对ch

qq_39835505的博客 5260
上一篇: layui 树形组件下拉框
下一篇: layui upload阻止文件上传问题,及多选文件上传
Start2019
博客等级 码龄7年 2344粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值