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 相关文章推荐
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
Nov 11 Javascript
js截取固定长度的中英文字符的简单实例
Nov 22 Javascript
javascript计时器事件使用详解
Jan 07 Javascript
js跳转页面方法总结
Jan 29 Javascript
js实现图片点击左右轮播
Jul 08 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
Jan 04 Javascript
JavaScript类型系统之正则表达式
Jan 05 Javascript
利用babel将es6语法转es5的简单示例
Dec 01 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
Jan 30 Javascript
JavaScript实现拖拽盒子效果
Feb 06 Javascript
浅谈webpack构建工具配置和常用插件总结
May 11 Javascript
Vue的Options用法说明
Aug 14 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
最贵的咖啡是怎么产生的,它的风味怎么样?
2021/03/04 新手入门
php操作JSON格式数据的实现代码
2011/12/24 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
php中序列化与反序列化详解
2017/02/13 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
PHP chr()函数讲解
2019/02/11 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
11款新鲜的jQuery插件[附所有demo下载]
2011/01/24 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
Windows系统中安装nodejs图文教程
2015/02/28 NodeJs
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
Javascript之BOM(window对象)详解
2016/05/25 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
Python是怎样处理json模块的
2020/07/16 Python
波兰补充商店:Muscle Power
2018/10/29 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
财务部总监岗位职责
2014/03/12 职场文书
培训班开班仪式主持词
2014/03/28 职场文书
七一党日活动总结
2014/07/08 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏