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 相关文章推荐
JS刷新框架外页面七种实现代码
Feb 18 Javascript
js中prototype用法详细介绍
Nov 14 Javascript
JQuery异步加载PartialView的方法
Jun 07 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
Oct 13 Javascript
Angular的事件和表单详解
Dec 26 Javascript
微信小程序 扎金花简单实例
Feb 21 Javascript
TypeScript入门-基本数据类型
Mar 28 Javascript
JavaScript队列函数和异步执行详解
Jun 19 Javascript
webpack打包node.js后端项目的方法
Mar 10 Javascript
Babel 入门教程学习笔记
Jun 13 Javascript
JS实现带阴历的日历功能详解
Jan 24 Javascript
JavaScript实现拖拽和缩放效果
Aug 24 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
php auth_http类库进行身份效验
2009/03/19 PHP
php操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
让table变成exls的示例代码
2014/03/24 Javascript
avalonjs制作响应式瀑布流特效
2015/05/06 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
如何使用bootstrap框架 bootstrap入门必看!
2017/04/13 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
Vue Prop属性功能与用法实例详解
2019/02/23 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
[01:08:24]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第一场 2月5日
2021/03/11 DOTA
python3音乐播放器简单实现代码
2020/04/20 Python
Python实现的密码强度检测器示例
2017/08/23 Python
对Python 内建函数和保留字详解
2018/10/15 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
python实现根据给定坐标点生成多边形mask的例子
2020/02/18 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
首席执行官观后感
2015/06/03 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
golang中的空slice案例
2021/04/27 Golang
Python3接口性能测试实例代码
2021/06/20 Python
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB