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 相关文章推荐
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
May 21 Javascript
JQuery jsonp 使用示例代码
Aug 12 Javascript
js Map List 遍历使用示例
Jul 10 Javascript
ES6的新特性概览
Mar 10 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
May 18 Javascript
利用Vue.js指令实现全选功能
Sep 08 Javascript
vue快捷键与基础指令详解
Jun 01 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
Jan 25 jQuery
vue2.0+koa2+mongodb实现注册登录
Apr 10 Javascript
Angular8 Http拦截器简单使用教程
Aug 20 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
May 14 Javascript
design vue 表格开启列排序的操作
Oct 28 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
UCenter Home二次开发指南
2009/05/28 PHP
PHP 变量类型的强制转换
2009/10/23 PHP
php 操作excel文件的方法小结
2009/12/31 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
常用一些Javascript判断函数
2012/08/14 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
Javascript基础知识(一)核心基础语法与事件模型
2014/09/29 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
python基于xmlrpc实现二进制文件传输的方法
2015/06/02 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
业务主管岗位职责范本
2013/12/25 职场文书
《母鸡》教学反思
2014/02/25 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
校车司机安全责任书
2015/05/11 职场文书
军训结束新闻稿
2015/07/17 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
python flask框架快速入门
2021/05/14 Python