layui--js控制switch的切换方法

需求:如下所示,当【主键】选择为“T”时,【允许为空】不能选择“T”,且会自动切换为“F”;

当【允许为空】选择为“T”时,判断【主键】是否为空,若为“T”,弹出提示,不予更改;

首先需要在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的切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • layui中的switch开关实现方法

    效果如下图: 显然这个插件是一个checkbox,只是在layui中封装了.所以layui的js和css是必不可少的. Html代码: <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">开关</label> <div class=

  • layui--js控制switch的切换方法

    需求:如下所示,当[主键]选择为"T"时,[允许为空]不能选择"T",且会自动切换为"F"; 当[允许为空]选择为"T"时,判断[主键]是否为空,若为"T",弹出提示,不予更改: 首先需要在table中添加switch控件: 定义主键:以templet模板形式定义控件格式,其中{{ d.isSerial == 'T' ? 'checked' : '' }}为其设置默认值 {field :'isSerial'

  • JS控制伪元素的方法汇总

    一. 缘由: 本文源于在OSC社区中,有人提问如何用jq获取伪元素.我第一想法是强大的CSS Query应该可以获取伪元素吧. 然而事实上,CSS Query并不能.即我们不能通过$(":before").$(dom).find(":before")或document.querySelector(":before")来获取:before伪元素. 为此,我不得不重新了解伪元素(Pseudo-elements).为什么不能用JS直接获取伪元素呢? 譬

  • JS控制CSS样式的方法

    群里的兄弟问的效果 无标题文档 p.p1{ background-color:#FF0000;font-size:22px;_ font-family:"方正舒体"; font-weight:100; } function remove(){ var wc = document.styleSheets[0], i; for (i = 0 ; i hello,this is a example of stylesheets hello,this is a example of style

  • js控制网页背景音乐播放与停止的方法

    本文实例讲述了js控制网页背景音乐播放与停止的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml

  • js实现网页随机切换背景图片的方法

    本文实例讲述了js实现网页随机切换背景图片的方法.分享给大家供大家参考.具体实现方法如下: 首先要准备一些图像,图像的大小(无论是尺寸大小还是数据大小)要控制好,如果太大,会使用户等不及查看全图就跳出了,如果太小,又会影响页面质量 在script中将这些图像编为一个数组,便于调用.数组的长度当然就是图像的数量. 复制代码 代码如下: var bodyBgs = [];    //创建一个数组变量来存储背景图片的路径 bodyBgs[0] = "images/01.jpg"; bodyB

  • Js实现网页键盘控制翻页的方法

    本文实例讲述了Js实现网页键盘控制翻页的方法.分享给大家供大家参考.具体实现方法如下: 键盘控制翻页效果我想我们不少见了,经常在很多网站特别是相册的效果都可以直接使用键盘进行上下页进行翻页了,原理很简单,只要利用js监测用户是否有按上下键即可实现. 举例如下: 复制代码 代码如下: <a id="last" href="<?=$lefturl?>">上一章</a> <a id="booklist" hre

  • js实现键盘控制DIV移动的方法

    本文实例讲述了js实现键盘控制DIV移动的方法.分享给大家供大家参考.具体分析如下: css样式部分: 复制代码 代码如下: <style type="text/css"> html,body{overflow:hidden;} body{margin:0;padding:0;} pre{color:green;padding:10px 15px;background:#f0f0f0;border:1px dotted #333;font:12px/1.5 Courier

  • JS控制文本域只读或可写属性的方法

    本文实例讲述了JS控制文本域只读或可写属性的方法.分享给大家供大家参考,具体如下: <input id="username" name="userneme" type="text" style="width:50px" size=106> 密码:<input id="userpwd" type="text" name="userpwd" size=1

  • JS控制层作圆周运动的方法

    本文实例讲述了JS控制层作圆周运动的方法.分享给大家供大家参考,具体如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; char

随机推荐