layui默认选中table的CheckBox复选框方法


Posted in Javascript onSeptember 19, 2019

方法一:如何根据条件判断是否默认选中table表格前面的复选框

table.render({
  elem: '#userTable'
  , url: '../sysRole/getUserList'
  , title: '用户列表'
  , page: true //开启分页
  , cols: [[
    {type:'checkbox'}
    , {field: 'userName',sort: true, title: '用户名称'}
    , {field: 'account',sort: true, title: '登录账户'}
    , {field: 'deleteFlg',sort: true, title: '是否启用'}
  ]]
  ,done: function(res, page, count){
    //可以自行添加判断的条件是否选中
    //这句才是真正选中,通过设置关键字LAY_CHECKED为true选中,这里只对第一行选中
    res.data[0]["LAY_CHECKED"]='true';
    //下面三句是通过更改css来实现选中的效果
    var index= res.data[0]['LAY_TABLE_INDEX'];
    $('tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
    $('tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
  }
});

方法二:checkFuntion()当翻页或加载时判断是否选中复选框,input第一行禁用,第二行选中,第三行未选中

<script>
    //存储选中的设备Id
    var checkId=[];
  </script>
<table class="layui-hide" id="deviceList" lay-filter="deviceFilter"></table>
              //模板页定义复选框,可以直接写js控制是否选中
              <script type="text/html" id="checkboxTpl">
                {{#
                function checkFuntion(arry){
                  var isTrue=false;
                  for(var index in arry){
                    if(arry[index]==d.id){
                      isTrue=true;
                      break;
                    }
                  }
                  return isTrue;
                };
                if(d.deviceAreaId!=null){ }}
                <input type="checkbox" lay-skin="primary" value="{{d.id}}" lay-filter="deviceIdFilter" disabled>
                {{# } else {
                  if(checkFuntion(checkId)){ }}
                <input type="checkbox" lay-skin="primary" id="{{d.id}}" isCheck="true" value="{{d.id}}" lay-filter="deviceIdFilter" checked>
                  {{# } else { }}
                <input type="checkbox" lay-skin="primary" id="{{d.id}}" isCheck="false" value="{{d.id}}" lay-filter="deviceIdFilter">
                  {{# } }}
                {{# } }}
              </script>
 
table.render({
          elem: '#deviceList'
          , url: '../devices/findALL' //数据接口
          , title: '仪表表'
          ,height:'480px'
          ,where:{"gatewaySN":selectPid,"channel":searchId}
          , page: true //开启分页
          , cols: [[ //表头
            {field:'id',width: '5%',templet: '#checkboxTpl',title: '<div id="checkAll" οnclick="selectAll()" all="false" class="layui-unselect layui-form-checkbox" lay-skin="primary"><i class="layui-icon layui-icon-ok"></i></div></div>'}
            // ,{field: 'id', title: 'ID', width: '5%', sort: true, title: 'ID'}
            , {field: 'deviceName', width: '25%', sort: true, title: '仪表名称'}
            , {field: 'type', width: '15%', sort: true, title: '仪表类型'}
            , {field: 'entryName', width: '15%', sort: true, title: '能耗分项'}
            , {field: 'deviceDesc', width: '40%', sort: true, title: '仪表描述'}
          ]]
          ,done: function(res, page, count){
            //每次翻页或者重载时判断是否全选
            if ( $('input[isCheck="false"]').length==0){
              $("#checkAll").attr('all','true');
              $("#checkAll").addClass('layui-form-checked');
            }else {
              $("#checkAll").attr('all','false');
              $("#checkAll").removeClass('layui-form-checked');
            }
          }
        });
  //全选按钮事件
  function selectAll() {
    var checkAll = $("#checkAll");
    if (checkAll.attr('all') == "false") {
      console.log($('input[isCheck="false"]'));
      $('input[isCheck="false"]').each(function () {
        $(this).next().click();
      });
      checkAll.attr('all', 'true');
      checkAll.addClass('layui-form-checked');
    } else if (checkAll.attr('all') == "true") {
      $('input[isCheck="true"]').each(function () {
        $(this).next().click();
      });
      checkAll.attr('all', 'false');
      checkAll.removeClass('layui-form-checked');
    }
  }

以上这篇layui默认选中table的CheckBox复选框方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript在IE中“意外地调用了方法或属性访问”
Nov 19 Javascript
基于jQuery制作迷你背词汇工具
Jul 27 Javascript
用jquery生成二级菜单的实例代码
Jun 24 Javascript
js插件Jcrop自定义截取图片功能
Oct 14 Javascript
js放到head中失效的原因与解决方法
Mar 07 Javascript
Vue中保存用户登录状态实例代码
Jun 07 Javascript
vue-cli脚手架引入图片的几种方法总结
Mar 13 Javascript
JS实现json对象数组按对象属性排序操作示例
May 18 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
Jun 26 Javascript
IE11下处理Promise及Vue的单项数据流问题
Jul 24 Javascript
vue 实现移动端键盘搜索事件监听
Nov 06 Javascript
jQuery实现广告显示和隐藏动画
Jul 04 jQuery
layui 数据表格复选框实现单选功能的例子
Sep 19 #Javascript
基于layui的table插件进行复选框联动功能的实现方法
Sep 19 #Javascript
解决layui的table插件无法多层级获取json数据的问题
Sep 19 #Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 #Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 #Javascript
vue简单练习 桌面时钟的实现代码实例
Sep 19 #Javascript
JS实现滚动条触底加载更多
Sep 19 #Javascript
You might like
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
ECMAScript 基础知识
2007/06/29 Javascript
【消息提示组件】,兼容IE6/7&amp;&amp;FF2
2007/09/04 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
jquery 取子节点及当前节点属性值
2014/07/25 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
jQuery 遍历map()方法详解
2016/11/04 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
python转换摩斯密码示例
2014/02/16 Python
获取Django项目的全部url方法详解
2017/10/26 Python
python实现SOM算法
2018/02/23 Python
用Python读取几十万行文本数据
2018/12/24 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
使用python实现希尔、计数、基数基础排序的代码
2019/12/25 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
屈臣氏泰国官网:Watsons TH
2021/02/23 全球购物
农场厂长岗位职责
2013/12/28 职场文书
经理管理专业自荐信范文
2013/12/31 职场文书
参观考察邀请函范文
2014/01/29 职场文书
《金钱的魔力》教学反思
2014/02/24 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
客户付款通知书
2015/04/23 职场文书
总经理致辞
2015/07/29 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers