解决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代码
Dec 21 Javascript
JS实现控制表格行内容垂直对齐的方法
Mar 30 Javascript
第五章之BootStrap 栅格系统
Apr 25 Javascript
简单实现js间歇或无缝滚动效果
Jun 29 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
Angular.js中控制器之间的传值详解
Apr 24 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
Aug 29 Javascript
微信小程序拍照和摄像功能实现方法示例
Feb 01 Javascript
jquery实现垂直手风琴导航栏
Feb 18 jQuery
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 Javascript
vue通过过滤器实现数据格式化
Jul 20 Javascript
React Fragment介绍与使用详解
Nov 11 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中in_array函数使用的问题与解决办法
2016/09/11 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
javascript 动态添加表格行
2006/06/22 Javascript
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
javascript suggest效果 自动完成实现代码分享
2012/02/17 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
JavaScript定时器和优化的取消定时器方法
2015/07/03 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
react高阶组件经典应用之权限控制详解
2017/09/07 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
详解Python中for循环是如何工作的
2017/06/30 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
Python爬虫爬取煎蛋网图片代码实例
2019/12/16 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
俄罗斯卫浴采暖及维修用品超级市场:Dkrussia
2020/05/12 全球购物
在职人员函授期间自我评价分享
2013/11/08 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
爱国演讲稿500字
2014/05/04 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
安全生产培训心得体会
2016/01/18 职场文书
工作简历的自我评价
2019/05/16 职场文书