您好,登錄后才能下訂單哦!
小編給大家分享一下如何實現基于layui下拉列表的數據回顯方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
靜態網頁+layui渲染
html代碼
<div class="layui-form-item"> <label class="layui-form-label">選擇框</label> <div class="layui-input-block"> <select id="t" name="quiz2"> <option value="">請選擇市</option> <option value="2">杭州2</option> <option value="3">杭州3</option> <option value="4">杭州4</option> <option value="5">杭州5</option> </select> </div> </div>
js代碼
<script> // 遍歷select $("#t").each(function() { // this代表的是<option></option>,對option再進行遍歷 $(this).children("option").each(function() { // 判斷需要對那個選項進行回顯 if (this.value == 2) { console.log($(this).text()); // 進行回顯 $(this).attr("selected","selected"); } }); }) </script>
動態網頁+layui渲染(級聯下拉列表)
后臺將第一個下拉列表的數據傳到前臺
public String getApiInfoByTypePage(@PathVariable String type, Model model, HttpServletRequest request) { List<DopApiType> typeList1 = apiService.findApiTypeByPid(1); log.error(typeList1); model.addAttribute("typeList1", typeList1); }
前臺頁面用的是Thymeleaf的遍歷將數據加載出來,然后layui自動渲染
<div class="layui-input-inline"> <select id="quiz1" name="quiz1" lay-filter="quiz1"> <option value="1">請選擇一級服務目錄</option> <option th:each="list1:${typeList1}" th:value="${list1.typeId}" th:text="${list1.typeName }"></option> </select> </div> <div class="layui-input-inline" lay-filter="inline1"> <select id="quiz2" name="quiz2" lay-filter="quiz2"> <option value="0">請選擇二級服務目錄</option> </select> </div>
一級下拉列表的監聽事件
//監聽一級服務目錄下拉列表的選擇時間 form.on('select(quiz1)', function (data) { var pId = data.value;// 一級列表的id $.post('/getApiTypeByPid', {'pId': pId, '': 2}, function (msg) {// 請求二級列表的數據 // console.log(msg); $('#quiz2').empty();// 將二級列表的內容清空 for (var i in msg) {// 遍歷數據賦值給二級列表的內容 var $content = $('<option value="' + msg[i].typeId + '">' + msg[i].typeName + '</option>'); $('#quiz2').append($content); } form.render('select');// 注意:數據賦值完成之后必須調用該方法,進行layui的渲染,否則數據出不來 }); });
數據回顯的核心邏輯(java的根據目錄格式,自行編寫)
js部分
// 服務目錄的數據回顯 var sesType = [[${type}]]; var sesType1 = [[${type1}]];// 一級目錄id var sesStatus = [[${status}]]; // 一級目錄回顯 $("#quiz1").each(function () {// 遍歷select $(this).children("option").each(function () {// 遍歷option if (this.value == sesType1) {// 跟后臺傳過來的id相同就顯示selected // console.log("一級目錄"+$(this).text()); $(this).attr("selected", "selected"); $.post('/getApiTypeByPid', {'pId': sesType1, '': 2}, function (msg) {// 根據一級目錄的id獲取二級目錄的信息 // console.log(msg); $('#quiz2').empty();// 清空 for (var i in msg) { // 遍歷,進行賦值 if (msg[i].typeId == sesType) {// 判斷要回顯的二級目錄 var $content1 = $('<option value="' + msg[i].typeId + '" selected="selected">' + msg[i].typeName + '</option>'); $('#quiz2').append($content1); } else { var $content = $('<option value="' + msg[i].typeId + '">' + msg[i].typeName + '</option>'); $('#quiz2').append($content); } } form.render('select');// 注意:一定要調用該方法進行中心渲染,否則數據是顯示不出來的 }); } }); });
以上是“如何實現基于layui下拉列表的數據回顯方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。