1. 程式人生 > >關於web開發中的開關功能------layui和bootstrap兩種開關

關於web開發中的開關功能------layui和bootstrap兩種開關

1.兩種開關都需要使用外部引入的js包,layui使用layui外掛包

第一種layui式開關:

①引入的外部檔案

 <link href="${ctxStatic}/layui/css/layui.css" rel="stylesheet">

 <script src="${ctxStatic}/layui/layui.js"></script>

此js我會上傳到下載資源中,供大家使用,也可以到官方網站中下載。

資源連結:

②開關監控事件:



layui.use(['form', 'layedit'], function(){
 var form = layui.form()
 ,layer = layui.layer
 ,layedit = layui.layedit;
 
 //監聽指定開關
 form.on('switch(switchTest)', function(data){
   
   layer.msg( (this.checked ? '開啟' : '關閉'), {
     offset: '400px'
   });
    if(this.checked){
    $(this).val("1");
   }else{
    $(this).val("0");
   } 
   
    //開關狀態判斷,是否新增或更新資料
    switchStatus($(this));
    
 });
});

這就是和我的業務相關的部分,讀者可以忽略【

//開關狀態判斷,是否是第一次點選開關

function switchStatus(ele){
var type=ele.next().next().next().val();
var reservationSetId=ele.next().next().val();      
var reservationName=ele.parents("tr").children().eq(1).text();//$("tr:eq(1)")
var presentation=ele.parents("tr").children().eq(2).text();//$("tr:eq(1)")
$.ajax({
url : "${ctx}/vehicle/wcrReservationSet/insertWrstByType",//按照型別插入
type:"post",
dataType:"json",
data : {"reservationSetId":reservationSetId,"type":type,"reservationName":reservationName,"presentation":presentation},
success : function(result) {//layer.msg('儲存成功!', {icon:1,time:1500});
 location.reload();
    }
    });
}

③開關html部分

    <form class="layui-form" action="">
  <div class="layui-form-item">
   <div class="layui-input-block">
     <input type="checkbox" id="wrst1" name="status" ${wrst1.status==true?"checked":""} class="switch"  lay-skin="switch" lay-filter="switchTest" lay-text="ON|OFF">
   <input type="hidden" id="wrst1Id" name="reservationSetId" value="${wrst1.reservationSetId}" />
   <input type="hidden" id="wrst1Type" name="type" value="1" />
   </div>
 </div>
    </form>

注意幾點:第一,必須是form標籤且class的值必須‘layui-form’.第二,input型別必須是checkbox,內部可以使用EL表示式與資料庫保持狀態統一

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第二種bootstrap式開關

①導包

<link href="${ctxStatic}/bootstrap/css/bootstrap-switch.css"
rel="stylesheet">
<script type="text/javascript"
src="${ctxStatic}/bootstrap/js/highlight.js"></script>
<script type="text/javascript"
src="${ctxStatic}/bootstrap/js/bootstrap-switch.js"></script>
<script type="text/javascript" 
src="${ctxStatic}/bootstrap/js/main.js"></script>

②html元素

 <div class="switch" >
 <input  type="checkbox"  id="wrst1" name="status" data-size="mini" ${wrst1.status==true?"checked":""} onchange="switchStatus(this,1,'${wrst1.reservationSetId}');" >
 </div>

③監控事件:

使用onchange方法的監控,其實我沒有使用bootstrap裡面的監控,感覺不好用,所以使用onchange事件監控

/*
監控開關:第一次插入資料,以後再點選只是修改status
*/
function switchStatus(ele,type,reservationSetId){

//定義變數,取出Id和type值
var reservationName=$(ele).parents("tr").children().eq(1).text();//$("tr:eq(1)")
var presentation=$(ele).parents("tr").children().eq(2).text();//$("tr:eq(1)")
var status=$(ele).prop("checked");

$.ajax({
url : "${ctx}/vehicle/wcrReservationSet/insertWrstByType",//按照型別插入
type:"post",
dataType:"json",
async:true,
data : {"reservationSetId":reservationSetId,"type":type,"reservationName":reservationName,"presentation":presentation,"status":status},
success : function(result) {
//如果第一次新增,友好提示:開啟此項服務,以後只是顯示開啟、關閉兩種狀態
if(result==1){
layer.msg('開啟-'+reservationName+'-服務!',{time:1500},function(index){
location.reload(); 
});
}else{
if(status==true){
layer.msg('啟用', {time:1500},function(index){
//location.reload();
});
}else{
layer.msg('不啟用', {time:1500},function(index){
//location.reload();

});
}
}
}
});
}

OK ,如果有問題,可以諮詢本人或查詢資料,本人QQ:2537875330

相關推薦

關於web開發開關功能------layuibootstrap開關

1.兩種開關都需要使用外部引入的js包,layui使用layui外掛包 第一種layui式開關: ①引入的外部檔案  <link href="${ctxStatic}/layui/css/layui.css" rel="stylesheet">  <

WEB開發常用的協議標準

DNS協議1、DNS協議的作用是將域名解析為IP,網路上的每個站點的位置是用IP來確定的,訪問一個網站首先就要知道它的IP,不過資料組成的IP記起來不方便,所以就使用域名來代替IP,由於IP和域名的對應關係經常變化,所以就需要有專門將域名解析為IP的伺服器,我們稱為:DNS伺

Web開發的分層原則各層之間的資料傳遞問題

目前的Web Application大多采用流行的基於B/S模式的三層架構開發,這裡的三層架構指的就是Web層、業務層和資料訪問層。採用分層的開發方式有很多好處,下面只簡單地來說兩點: (1)   分層開發使不同的開發人員關注他們擅長的特定層面,有助於開發優質的系統。因為

CSS3實現五子棋Web小遊戲,Canvas畫布DOM實現,並且具有悔棋撤銷悔棋功能

posit oct padding 角色 sar pac osi fse ech 用Canvas實現五子棋的思路: 1、點擊棋盤,獲取坐標x,y,計算出棋子的二維數組坐標i和j, 2、棋子的實現,先arc一個圓,再填充漸變色。 3、下完一步棋後切換畫筆和角色。 4、贏法算法

在Java Web程序使用監聽器可以通過以下方法

output pla extend 標識 ade 介紹 gets str override 之前學習了很多涉及servlet的內容,本小結我們說一下監聽器,說起監聽器,編過桌面程序和手機App的都不陌生,常見的套路都是拖一個控件,然後給它綁定一個監聽器,即可以對該對象的事件

JDBCOracle的SIDServiceName方式的連接字符串格式

bottom none color bubuko div nbsp rac 字符串 padding SID格式: jdbc:oracle:thin:@<host>:<port>:<SID> 如: jdbc:oracle:thin:@19

js定時器setTimeoutsetInterval定時器

專案中,經常會用到定時器來實現資料實時更新、時間等,簡單總結一下: Javascript中的定時器有兩種,setInterval和setTimeout,而定時器的作用就是延遲執行。 一、定時器的寫法 setInterval(expression,milliseconds);

scalar的基於OrderedOrdering比較器

1>Ordered class PP(var name: String, var age: Int) extends Ordered[PP] { override def compare(that: PP) = if (this.age > that.age) -1 else if (

javaWeb-web專案載入資原始檔路徑的方式

《一:使用相對路徑方式載入》 1.相對於classpath的根路徑,即位元組碼的輸出目錄:bin Properties p = new Properties(); //1.通過當前類物件得到類

flask-web開發登入註冊功能的實現

目錄如下: my_flasky │ config.py │ config.pyc │ data-dev.sqlite │ manage.py │ └─app │ models.py │ models.pyc │ __

Python Web開發,WSGI協議的作用實現原理詳解

首先理解下面三個概念: WSGI:全稱是Web Server Gateway Interface,WSGI不是伺服器,python模組,框架,API或者任何軟體,只是一種規範,描述web server如何與web application通訊的規範。 uwsgi:與WSGI一樣是一種協議,是uWSGI伺服器

Web開發 前端路由 實現的幾方式適用場景

故事從名叫Oliver的綠箭蝦`說起,這位大蝦酷愛社交網站,一天他打開了 Twitter ,從發過的tweets的選項卡一路切到followers選項卡,Oliver發現頁面的內容變化了,URL也變化了,但為什麼頁面沒有閃爍重新整理呢?於是Oliver開啟的網路監控器(沒錯,Oliver是個程式設計師),他驚

WEB開發的字符集編碼

引言 我相信很多人在初接觸程式設計時,都被字符集狠狠地虐過,特別是資料庫的中文亂碼問題,那麼亂碼是怎麼產生的呢? 我們都知道計算機是以二進位制儲存和執行的,那麼它是怎麼把二進位制資料轉換為各種文字的呢? 還有我們常用的各種字符集,常用的編碼轉換,都是怎麼進行的呢? 本博文所寫的內容不是技術乾貨,只是對

Web開發的請求重定向內部轉發的區別

一、呼叫方式 我們知道,在servlet中呼叫轉發、重定向的語句如下: request.getRequestDispatcher("new.jsp").forward(request, response);   //轉發到new.jsp response.sen

使用阿里雲對Web開發的資原始檔進行CDN加速的深入研究實踐

閱讀目錄結構 引: 一、準備工作 二、整體功能結構 三、具體實現步驟 四、關鍵點和問題處理 五、延伸與擴充套件 六、總結與思考 引: 在日常的開發過程中,會越來越多的使用諸如Bootstrap等前端框架,又或是 JQuery Form這樣的第三方JS外掛,這些框

Web開發伺服器轉發方式forwardredirect的區別

使用者向伺服器傳送了一次HTTP請求,該請求可能會經過多個資訊資源處理以後才返回給使用者,各個資訊資源使用請求轉發機制相互轉發請求,但是使用者是感覺不到請求轉發的。根據轉發方式的不同,可以區分為直接請求轉發(Forward)和間接請求轉發(Redirect)兩種有何區別呢?

JFinal Web開發學習(七)使用layUI美化的登入功能

效果: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta na

web測試的測試點測試方法總結

動態 小數 圖片尺寸 提示信息 方便 margin style 容錯性 字符型 測試是一種思維,包括情感思維和智力思維,情感思維主要體現在一句俗語:思想決定行動上(要懷疑一切),智力思維主要體現在測試用例的設計上。具有了這樣的思想,就會找出更多的bug。 一、輸入框

轉載----編寫高質量代碼:改善Java程序的151個建議(第1章:JAVA開發通用的方法準則___建議1~5)

ase 重載方法 name 原理 .get tin stat eas 容易 閱讀目錄 建議1:不要在常量和變量中出現易混淆的字母 建議2:莫讓常量蛻變成變量    建議3:三元操作符的類型務必一致   建議4:避免帶有變長參數的方法重載 建議5:別讓null值和空值威

(我是初學者)第一次項目開發(二)開發遇到的問題註意事項

持久層 數據庫 認識 碼代碼 操作 出錯 排序 文檔 項目 這周正式開始做項目練習,這才發現實際去做的時候會遇到和出現很多的問題 在這裏說一說我的體會,請指正 首先,實體類 1、實體類中有哪些屬性,類型是什麽,並根據屬性建立sql的相應表格, 2、哪些屬性需要在寫在實體