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)部分在
// 給對象主鍵賦值 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){//是主鍵 // 給對象主鍵賦值 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"; } });
添加監(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"){ // 給對象賦值 // 獲取允許為空的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的切換方法就是小編分享給大家的全部內(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)文章
BootStrap 超鏈接變按鈕的實(shí)現(xiàn)方法
這篇文章主要介紹了BootStrap 超鏈接變按鈕的實(shí)現(xiàn)方法以及js按鈕bootstrap超鏈接的操作方法,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-09-09Bootstrap每天必學(xué)之響應(yīng)式導(dǎo)航、輪播圖
Bootstrap每天必學(xué)之響應(yīng)式導(dǎo)航、輪播圖,本文的主要內(nèi)容是在導(dǎo)航條的下方做一張輪播圖,自動(dòng)播放最新的重要?jiǎng)討B(tài),感興趣的小伙伴們可以參考一下2016-04-04詳解webpack打包時(shí)排除其中一個(gè)css、js文件或單獨(dú)打包一個(gè)css、js文件(兩種方法)
本文通過兩種方法給大家介紹了webpack打包時(shí)排除其中一個(gè)css、js文件,或單獨(dú)打包一個(gè)css、js文件的方法 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10