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分页代码(当前页码居中)
Sep 20 Javascript
用js获取电脑信息(是使用与IE浏览器)
Jan 15 Javascript
深入了解javascript中的prototype与继承
Apr 14 Javascript
使用js 设置url参数
Jul 08 Javascript
JavaScript数据结构与算法之集合(Set)
Jan 29 Javascript
第三章之Bootstrap 表格与按钮功能
Apr 25 Javascript
Bootstrop实现多级下拉菜单功能
Nov 24 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
Dec 27 Javascript
Javascript获取某个月的天数
May 30 Javascript
详解小程序BackgroundAudioManager踩坑之旅
Dec 08 Javascript
JavaScript动态生成表格的示例
Nov 02 Javascript
浅析VUE防抖与节流
Nov 24 Vue.js
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
ThinkPHP基本的增删查改操作实例教程
2014/08/22 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
bcastr2.0 通用的图片浏览器
2006/11/22 Javascript
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
js实现表单检测及表单提示的方法
2015/08/14 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
简单介绍Ruby中的CGI编程
2015/04/10 Python
pygame学习笔记(4):声音控制
2015/04/15 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
html5简介及新增功能介绍
2020/05/18 HTML / CSS
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
自荐信写法介绍
2014/01/25 职场文书
美容院经理岗位职责
2014/04/03 职场文书
大学应届毕业生求职信
2014/05/24 职场文书