layui--js控制switch的切換方法
需求:如下所示,當(dāng)【主鍵】選擇為“T”時(shí),【允許為空】不能選擇“T”,且會(huì)自動(dòng)切換為“F”;
當(dāng)【允許為空】選擇為“T”時(shí),判斷【主鍵】是否為空,若為“T”,彈出提示,不予更改;



首先需要在table中添加switch控件:
定義主鍵:以templet模板形式定義控件格式,其中{{ d.isSerial == 'T' ? 'checked' : '' }}為其設(shè)置默認(rèn)值
{field :'isSerial' , title :'主鍵', minWidth : 120, templet: '#switchTpl', unresize : true }
<!-- 定義是否主鍵的開關(guān) -->
<script id="switchTpl" type="text/html">
<!-- 這里的 checked 的狀態(tài)是-->
<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}
<!-- 定義是否允許為空的開關(guān) -->
<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>
添加監(jiān)聽:監(jiān)聽主鍵,lay-filter的方式添加監(jiān)聽,重點(diǎn)部分在
// 給對(duì)象主鍵賦值
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"; //修改數(shù)據(jù)中F的值
layer.lips('此列為主鍵,不允許為空',obj.othis); //tips提示
// 主鍵
form.on('switch(ifKeyDemo)', function(obj){
// 獲取當(dāng)前控件
var selectIfKey=obj.othis;
// 獲取當(dāng)前所在行
var parentTr = selectIfKey.parents("tr");
// 獲取當(dāng)前所在行的索引
var parentTrIndex = parentTr.attr("data-index");
if(obj.elem.checked == true){//是主鍵
// 給對(duì)象主鍵賦值
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{
// 給對(duì)象賦值
tableData[parentTrIndex].isSerial = "F";
}
});
添加監(jiān)聽:監(jiān)聽【允許為空】,同理
// 允許為空
form.on('switch(ifNullDemo)', function(obj){
// 獲取當(dāng)前控件
var selectIfKey=obj.othis;
// 獲取當(dāng)前所在行
var parentTr = selectIfKey.parents("tr");
// 獲取當(dāng)前所在行的索引
var parentTrIndex = parentTr.attr("data-index");
// 獲取“是否主鍵”的值
var ifKey=parentTr.find(('td:eq(2)')).text().trim();
if(ifKey == "T"){
// 給對(duì)象賦值
// 獲取允許為空的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('此列為主鍵,不允許為空;若要為空,請(qǐng)更改主鍵');
}else{
if(obj.elem.checked == true){//允許為空
// 給對(duì)象賦值
tableData[parentTrIndex].notNull = "T";
}else{
// 給對(duì)象賦值
tableData[parentTrIndex].notNull = "F";
}
}
});
以上這篇layui--js控制switch的切換方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- JS中比Switch...Case更優(yōu)雅的多條件判斷寫法
- mui js控制開關(guān)狀態(tài)、修改switch開關(guān)的值方法
- JS switch判斷 三目運(yùn)算 while 及 屬性操作代碼
- Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
- AngularJS基礎(chǔ) ng-switch 指令簡單示例
- javascript中if和switch,==和===詳解
- JavaScript中switch語句的用法詳解
- js switch case default 的用法示例介紹
- js 中的switch表達(dá)式使用示例
- JavaScript switch語句使用方法簡介
相關(guān)文章
在頁面中輸出當(dāng)前客戶端時(shí)間javascript實(shí)例代碼
這篇文章主要介紹了在頁面中輸出當(dāng)前客戶端時(shí)間javascript實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-03-03
保姆級(jí)Decimal.js使用教程(解決js精度問題)
這篇文章主要給大家介紹了關(guān)于保姆級(jí)Decimal.js使用的相關(guān)資料,文中介紹的方法主要解決了js精度問題,decimal.js庫它是一個(gè)強(qiáng)大的JavaScript庫,用于解決浮點(diǎn)數(shù)計(jì)算精度不準(zhǔn)確的問題,需要的朋友可以參考下2024-05-05
JavaScript判斷對(duì)象和數(shù)組的兩種方法
這篇文章主要介紹了JavaScript判斷對(duì)象和數(shù)組的兩種方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
Javascript 同時(shí)提交多個(gè)Web表單的方法
1 問題來自一位網(wǎng)友的提問: web頁面里有多個(gè)表單,每個(gè)表單對(duì)應(yīng)著某一類數(shù)據(jù)操作。2009-02-02
ElementPlus?Tag標(biāo)簽用法小結(jié)
這篇文章主要介紹了ElementPlus?Tag標(biāo)簽用法,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
javascript實(shí)現(xiàn)樹形菜單的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)樹形菜單的方法,涉及javascript動(dòng)態(tài)操作頁面元素與節(jié)點(diǎn)屬性的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
JavaScript中輸出</script>標(biāo)簽的方法
這篇文章主要介紹了JavaScript中輸出</script>標(biāo)簽的方法,在一些廣告代碼中經(jīng)常會(huì)用到這個(gè)小技巧,需要的朋友可以參考下2014-08-08

