解决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入门教程(11) js事件处理
Jan 31 Javascript
ajax处理php返回json数据的实例代码
Jan 24 Javascript
javascript怎么禁用浏览器后退按钮
Mar 27 Javascript
关于jQuery判断元素是否存在的问题示例探讨
Jul 21 Javascript
jQuery中:last-child选择器用法实例
Dec 31 Javascript
纯JavaScript代码实现文本比较工具
Feb 17 Javascript
基于ajax与msmq技术的消息推送功能实现代码
Dec 26 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
Jun 09 Javascript
微信小程序开发之IOS和Android兼容的问题
Sep 26 Javascript
vue 插值 v-once,v-text, v-html详解
Jan 19 Javascript
vue表单自定义校验规则介绍
Aug 28 Javascript
vue使用vant中的checkbox实现全选功能
Nov 17 Vue.js
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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
PHP新手上路(十一)
2006/10/09 PHP
PHP详细彻底学习Smarty
2008/03/27 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
Js判断CSS文件加载完毕的具体实现
2014/01/17 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
javascript前端和后台进行数据交互方法示例
2020/08/07 Javascript
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
春节超市活动方案
2014/08/14 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
2014年图书室工作总结
2014/12/09 职场文书
党员民主生活会材料
2014/12/15 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书