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 相关文章推荐
Firefox中beforeunload事件的实现缺陷浅析
May 03 Javascript
jQuery获取浏览器中的分辨率实现代码
Apr 23 Javascript
深入理解Javascript动态方法调用与参数修改的问题
Dec 10 Javascript
jquery实现图片上传之前预览的方法
Jul 11 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
Nov 07 Javascript
JS实现自动阅读单词(有道单词本添加功能)
Nov 14 Javascript
Vue2组件tree实现无限级树形菜单
Mar 29 Javascript
Angualrjs和bootstrap相结合实现数据表格table
Mar 30 Javascript
微信小程序实现城市列表选择
Jun 05 Javascript
vue v-model实现自定义样式多选与单选功能
Jul 05 Javascript
VUE预渲染及遇到的坑
Sep 03 Javascript
Vue实现table上下移动功能示例
Feb 21 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
Codeigniter的dom类用法实例
2015/06/26 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
laravel dingo API返回自定义错误信息的实例
2019/09/29 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
Immutable 在 JavaScript 中的应用
2016/05/02 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
Vue.js watch监视属性知识点总结
2019/11/11 Javascript
微信小程序实现一个简单swiper代码实例
2019/12/30 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
调试Python程序代码的几种方法总结
2015/04/28 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
python实现银行账户系统
2021/02/22 Python
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
《陶罐和铁罐》教学反思
2014/02/19 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
人事局接收函
2015/01/31 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电
关于Python中进度条的六个实用技巧分享
2022/04/05 Python
muduo TcpServer模块源码分析
2022/04/26 Redis