解决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中的如何定位固定层的位置
Jun 15 Javascript
node.js中的console.info方法使用说明
Dec 09 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
Jan 13 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
Mar 30 Javascript
JS获取短信验证码倒计时的实现代码
May 22 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
May 26 Javascript
JavaScript之排序函数_动力节点Java学院整理
Jun 30 Javascript
Windows下Node.js安装及环境配置方法
Sep 18 Javascript
解决使用vue.js路由后失效的问题
Mar 17 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
May 22 jQuery
在 vue-cli v3.0 中使用 SCSS/SASS的方法
Jun 14 Javascript
微信小程序列表中item左滑删除功能
Nov 07 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
实现“上一页”和“下一页按钮
2006/10/09 PHP
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
php实现的xml操作类
2016/01/15 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
JSQL SQLProxy 的 php 版本代码
2010/05/05 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
js实现简单的打印表格
2020/01/15 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
仿照Element-ui实现一个简易的$message方法
2020/09/14 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
Python编程之event对象的用法实例分析
2017/03/23 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2017/08/23 Python
python实现停车管理系统
2018/11/30 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
Python连接mysql方法及常用参数
2020/09/01 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
2020/10/19 Python
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
sealed修饰符是干什么的
2012/10/23 面试题
教堂婚礼主持词
2014/03/14 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
Go Gin实现文件上传下载的示例代码
2021/04/02 Golang
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers
apache ftpserver搭建ftp服务器
2022/05/20 Servers