解决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 相关文章推荐
动态为事件添加js代码示例
Feb 15 Javascript
angularJS中router的使用指南
Feb 09 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
Dec 16 Javascript
js实现商品抛物线加入购物车特效
Nov 18 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
Sep 05 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
Feb 23 Javascript
Angular使用Md5加密的解决方法
Sep 16 Javascript
vue登录注册实例详解
Sep 14 Javascript
微信小程序实现吸顶效果
Jan 08 Javascript
浏览器JavaScript调试功能无法使用解决方案
Sep 18 Javascript
详解JavaScript中分解数字的三种方法
Jan 05 Javascript
利用 JavaScript 构建命令行应用
Nov 17 Javascript
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.ini中文版(2)
2006/10/09 PHP
php4的彩蛋
2006/10/09 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
Thinkphp单字母函数使用指南
2016/05/08 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
php数组指针操作详解
2017/02/14 PHP
解决出现SoapFault (looks like we got no XML document)的问题
2017/06/24 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
js的with语句使用方法
2007/09/21 Javascript
jQuery 使用手册(五)
2009/09/23 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
bootstrap实现嵌套模态框的实例代码
2020/01/10 Javascript
从零学Python之引用和类属性的初步理解
2014/05/15 Python
python生成日历实例解析
2014/08/21 Python
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
python3 深浅copy对比详解
2019/08/12 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
pandas针对excel处理的实现
2021/01/15 Python
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
DC Shoes澳大利亚官方网上商店:购买DC鞋子
2019/10/25 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
装潢设计专业推荐信模板
2013/11/26 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
师德师风个人整改措施
2014/10/27 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers