解决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运行机制之事件循环(Event Loop)详解
Oct 10 Javascript
jQuery()方法的第二个参数详解
Apr 29 Javascript
javascript框架设计之类工厂
Jun 23 Javascript
基于javascript显示当前时间以及倒计时功能
Mar 18 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
Aug 02 Javascript
Angular2使用jQuery的方法教程
May 28 jQuery
angular过滤器实现排序功能
Jun 27 Javascript
JS关于刷新页面的相关总结
May 09 Javascript
webpack4打包vue前端多页面项目
Sep 17 Javascript
js实现旋转木马轮播图效果
Jan 10 Javascript
vue中element 的upload组件发送请求给后端操作
Sep 07 Javascript
JS前端canvas交互实现拖拽旋转及缩放示例
Aug 05 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中static关键字原理的学习研究分析
2011/07/18 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
React Native实现简单的登录功能(推荐)
2016/09/19 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
简单的渐变轮播插件
2017/01/12 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
关于使用js算总价的问题
2017/06/23 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
使用js获取身份证年龄的示例代码
2020/12/11 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
python顺序执行多个py文件的方法
2019/06/29 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
物业管理专业个人的自我评价
2013/11/19 职场文书
安全生产计划书
2014/05/04 职场文书
团日活动总结书
2014/05/08 职场文书
后进生评语大全
2015/01/04 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
2015年派出所民警工作总结
2015/04/24 职场文书
关于观后感的作文
2015/06/18 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书