解决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类库Bindows1.3中的内存释放方式分析
Mar 08 Javascript
JQuery 表单中textarea字数限制实现代码
Dec 07 Javascript
菜鸟学习JavaScript小实验之函数引用
Nov 17 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
Jul 04 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
Nov 05 Javascript
详解JS面向对象编程
Jan 24 Javascript
js图片轮播手动切换特效
Jan 12 Javascript
angular forEach方法遍历源码解读
Jan 25 Javascript
微信小程序 向左滑动删除功能的实现
Mar 10 Javascript
vue中动态绑定表单元素的属性方法
Feb 23 Javascript
javascript和php使用ajax通信传递JSON的实例
Aug 21 Javascript
如何构建一个Vue插件并生成npm包
Oct 26 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的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
2018/06/10 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
详解javascript void(0)
2020/07/13 Javascript
python fabric实现远程操作和部署示例
2014/03/25 Python
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
编写Python CGI脚本的教程
2015/06/29 Python
python和ruby,我选谁?
2017/09/13 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
django序列化serializers过程解析
2019/12/14 Python
基于pandas中expand的作用详解
2019/12/17 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
python中uuid模块实例浅析
2020/12/29 Python
python openpyxl模块的使用详解
2021/02/25 Python
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
个人实用简单的自我评价
2013/10/19 职场文书
幼儿园的门卫岗位职责
2014/04/10 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫