layui--js控制switch的切换方法


Posted in Javascript onSeptember 03, 2019

需求:如下所示,当【主键】选择为“T”时,【允许为空】不能选择“T”,且会自动切换为“F”;

当【允许为空】选择为“T”时,判断【主键】是否为空,若为“T”,弹出提示,不予更改;

layui--js控制switch的切换方法

layui--js控制switch的切换方法

layui--js控制switch的切换方法

首先需要在table中添加switch控件:

定义主键:以templet模板形式定义控件格式,其中{{ d.isSerial == 'T' ? 'checked' : '' }}为其设置默认值

{field :'isSerial' , title :'主键', minWidth : 120, templet: '#switchTpl', unresize : true	}
<!-- 定义是否主键的开关 -->
<script id="switchTpl" type="text/html">
<!-- 这里的 checked 的状态是-->
<input type="checkbox" name = "ifKey" value = {{d.colNo}} lay-skin="switch" lay-text="T|F" lay-filter="ifKeyDemo" {{ d.isSerial == 'T' ? 'checked' : '' }}>
</script>

定义允许为空:

{field :'notNull' , title :'允许为空' , minWidth : 100, templet : '#switchNullTpl', unresize : true}
<!-- 定义是否允许为空的开关 -->
<script id="switchNullTpl" type="text/html">
<input type="checkbox" name="ifNull" value="{{d.colNo}}" lay-skin="switch" lay-text="T|F" lay-filter="ifNullDemo" {{ d.notNull == 'T' ? 'checked' : '' }}>
</script>

添加监听:监听主键,lay-filter的方式添加监听,重点部分在

// 给对象主键赋值              
tableData[parentTrIndex].isSerial = "T";       
// 获取允许为空的div             
var switchIfNull=$(parentTr).find("td:eq(6)").find("div:eq(1)"); 
// 修改div的样式为F的样式,F的值            
switchIfNull.prop("class","layui-unselect layui-form-switch");//F的样式
switchIfNull.find("em").text("F");  //F的值       
tableData[parentTrIndex].notNull = "F"; //修改数据中F的值

layer.lips('此列为主键,不允许为空',obj.othis); //tips提示

// 主键                  
 form.on('switch(ifKeyDemo)', function(obj){	        
	// 获取当前控件                
	var selectIfKey=obj.othis;            
	// 获取当前所在行                
	var parentTr = selectIfKey.parents("tr");        
	// 获取当前所在行的索引               
	var parentTrIndex = parentTr.attr("data-index");       
	                   
	if(obj.elem.checked == true){//是主键          
		// 给对象主键赋值               
		tableData[parentTrIndex].isSerial = "T";        
		// 获取允许为空的div              
		var switchIfNull=$(parentTr).find("td:eq(6)").find("div:eq(1)");  
		// 修改div的样式为F的样式,F的值             
		switchIfNull.prop("class","layui-unselect layui-form-switch");//F的样式 
		switchIfNull.find("em").text("F");         
		tableData[parentTrIndex].notNull = "F";        
                    
		layer.lips('此列为主键,不允许为空',obj.othis);         
	}else{                 
		// 给对象赋值                
		tableData[parentTrIndex].isSerial = "F";        
	}                  
	                   
});

添加监听:监听【允许为空】,同理

// 允许为空                  
form.on('switch(ifNullDemo)', function(obj){         
	// 获取当前控件                 
	var selectIfKey=obj.othis;            
	// 获取当前所在行                
	var parentTr = selectIfKey.parents("tr");         
	// 获取当前所在行的索引                
	var parentTrIndex = parentTr.attr("data-index");       
	// 获取“是否主键”的值                
	var ifKey=parentTr.find(('td:eq(2)')).text().trim();      
	if(ifKey == "T"){               
		// 给对象赋值                
		// 获取允许为空的div               
		var switchIfNull=$(parentTr).find("td:eq(6)").find("div:eq(1)");  
		// 修改div的样式为F的样式,F的值             
		switchIfNull.prop("class","layui-unselect layui-form-switch");//F的样式 
		switchIfNull.find("em").text("F");         
		tableData[parentTrIndex].notNull = "F";        
                    
		layer.alert('此列为主键,不允许为空;若要为空,请更改主键');        
		                  
	}else{                 
		if(obj.elem.checked == true){//允许为空			       
			// 给对象赋值               
			tableData[parentTrIndex].notNull = "T";       
			                 
		}else{                
			// 给对象赋值               
			tableData[parentTrIndex].notNull = "F";       
		}                  
	}                   
	                   
});

以上这篇layui--js控制switch的切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
Apr 02 Javascript
js图片处理示例代码
May 12 Javascript
JavaScript中扩展Array contains方法实例
Aug 23 Javascript
JavaScript实战之带收放动画效果的导航菜单
Aug 16 Javascript
jQuery3.0中的buildFragment私有函数详解
Aug 16 Javascript
Vue.js每天必学之Class与样式绑定
Sep 05 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
Mar 23 Javascript
vue forEach循环数组拿到自己想要的数据方法
Sep 21 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
Oct 14 Javascript
小程序云开发部署攻略(图文教程)
Oct 30 Javascript
原来JS还可以这样拆箱转换详解
Feb 01 Javascript
Vue axios 将传递的json数据转为form data的例子
Oct 29 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
Sep 03 #Javascript
layui中的switch开关实现方法
Sep 03 #Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
Sep 03 #Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
Sep 03 #Javascript
vue路由教程之静态路由
Sep 03 #Javascript
多个vue子路由文件自动化合并的方法
Sep 03 #Javascript
Emberjs 通过 axios 下载文件的方法
Sep 03 #Javascript
You might like
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
php数组删除元素示例
2014/03/21 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
Javascript 面向对象特性
2009/12/28 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
使用Browserify配合jQuery进行编程的超级指南
2015/07/28 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
2016/05/15 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
Numpy之random函数使用学习
2019/01/29 Python
Python 学习教程之networkx
2019/04/15 Python
Python中的self用法详解
2019/08/06 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
Python Tensor FLow简单使用方法实例详解
2020/01/14 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
体育学院毕业生自荐信
2013/11/03 职场文书
怎样写演讲稿
2014/01/04 职场文书
教师党员思想汇报
2014/01/06 职场文书
程序员求职信
2014/04/16 职场文书
美食节目策划方案
2014/05/31 职场文书
天猫活动策划方案
2014/08/21 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python