解决layui动态加载复选框无法选中的问题


Posted in Javascript onSeptember 20, 2019

问题描述

1.最近用layui做后台界面,遇到layui跟ajax数据动态加载的checkbox,偶尔不能正常勾选,取消

2.有分页时,最后一页数据过少会导致其他页下方数据无法选中

3.页面没加载完或暴力测试时也会不能选中

利用layui更新渲染方法和网上的一些方法去解决后极大的减少了无法选中的情况,但是暴力测试时偶尔还会出现,实在不知道什么原因,所以就用了一个折中的方法——自己写一个复选框

<!--原有layui复选框-->
<td>
  <div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon"></i></div>
</td>
<!--替换为自己写的-->
<td>
  <div a="off" class="checkBox" v-bind:data-id='x.Id' v-on:click="checkBox(i)">
    <div></div>
  </div>
</td>

自己写的同样支持vue绑定事件,并且支持单个选中、取消,全选和取消

//单个的选中取消 

checkBox:function(n){
  var checkbox = $('tbody tr').eq(n).find('.checkBox');
  if (checkbox.attr("a") == "off") {
    checkbox.children("div").css({
      "display" : "block"
    });
    checkbox.attr("a","on");
  }else {
    checkbox.children("div").css({
      "display" : "none"
    });
    checkbox.attr("a","off");
  }
}
//全选取消

checkBoxAll:function(){
  var obj = $('thead').find('.checkBox');
  if ($(obj).attr("a") == "off") {
    $('.checkBox div').css({"display" : "block"});
    $('.checkBox').attr("a","on");
  }else {
    $('.checkBox div').css({"display" : "none"});
    $('.checkBox').attr("a","off");
  }
}

全选或者选中其中几个,获取对应id,删除或进行其他操作

function getId() {
  var obj = $("tbody .checkBox");
  var arr='';
  obj.each(function(index, el) {
    if(obj.eq(index).attr("a") == "on"){
      arr += obj.eq(index).attr('data-id')+ ','
    }
  });
  return arr;
}

以上这篇解决layui动态加载复选框无法选中的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 最常用的10个自定义函数[推荐]
Dec 26 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
Jan 11 Javascript
常用一些Javascript判断函数
Aug 14 Javascript
终于解决了IE8不支持数组的indexOf方法
Apr 03 Javascript
jQuery地图map悬停显示省市代码分享
Aug 20 Javascript
JS实现的表头列头固定页面功能示例
Jan 10 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
Jun 17 Javascript
vue.js实现备忘录demo
Jun 26 Javascript
bootstrap table实现iview固定列的效果实例代码详解
Sep 30 Javascript
原生JS实现相邻月份日历
Oct 13 Javascript
JQuery绑定事件四种实现方法解析
Dec 02 jQuery
vue3.0实现插件封装
Dec 14 Vue.js
vuejs+element UI table表格中实现禁用部分复选框的方法
Sep 20 #Javascript
layui table复选框禁止某几条勾选的实例
Sep 20 #Javascript
教你如何用Node实现API的转发(某音乐)
Sep 20 #Javascript
使用layui实现树形结构的方法
Sep 20 #Javascript
生成无限制的微信小程序码的示例代码
Sep 20 #Javascript
浅谈layui分页控件field参数接收对象的问题
Sep 20 #Javascript
vuex根据不同的用户权限展示不同的路由列表功能
Sep 20 #Javascript
You might like
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
php加密解密字符串示例
2016/10/13 PHP
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
vue动态组件实现选项卡切换效果
2017/03/08 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
2020/04/24 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
Django验证码的生成与使用示例
2017/05/20 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
python3去掉string中的标点符号方法
2019/01/22 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
恶意软件的定义
2014/11/12 面试题
小学生红领巾广播稿
2014/01/21 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
求职自我评价参考范文
2019/05/16 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书