基于layui的下拉列表的數(shù)據(jù)回顯方法
更新時間:2019年09月24日 09:22:35 作者:五叔
今天小編就為大家分享一篇基于layui的下拉列表的數(shù)據(jù)回顯方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
靜態(tài)網(wǎng)頁+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再進(jìn)行遍歷
$(this).children("option").each(function() {
// 判斷需要對那個選項進(jìn)行回顯
if (this.value == 2) {
console.log($(this).text());
// 進(jìn)行回顯
$(this).attr("selected","selected");
}
});
})
</script>
動態(tài)網(wǎng)頁+layui渲染(級聯(lián)下拉列表)
后臺將第一個下拉列表的數(shù)據(jù)傳到前臺
public String getApiInfoByTypePage(@PathVariable String type, Model model, HttpServletRequest request) {
List<DopApiType> typeList1 = apiService.findApiTypeByPid(1);
log.error(typeList1);
model.addAttribute("typeList1", typeList1);
}
前臺頁面用的是Thymeleaf的遍歷將數(shù)據(jù)加載出來,然后layui自動渲染
<div class="layui-input-inline">
<select id="quiz1" name="quiz1" lay-filter="quiz1">
<option value="1">請選擇一級服務(wù)目錄</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">請選擇二級服務(wù)目錄</option>
</select>
</div>
一級下拉列表的監(jiān)聽事件
//監(jiān)聽一級服務(wù)目錄下拉列表的選擇時間
form.on('select(quiz1)', function (data) {
var pId = data.value;// 一級列表的id
$.post('/getApiTypeByPid', {'pId': pId, '': 2}, function (msg) {// 請求二級列表的數(shù)據(jù)
// console.log(msg);
$('#quiz2').empty();// 將二級列表的內(nèi)容清空
for (var i in msg) {// 遍歷數(shù)據(jù)賦值給二級列表的內(nèi)容
var $content = $('<option value="' + msg[i].typeId + '">' + msg[i].typeName + '</option>');
$('#quiz2').append($content);
}
form.render('select');// 注意:數(shù)據(jù)賦值完成之后必須調(diào)用該方法,進(jìn)行l(wèi)ayui的渲染,否則數(shù)據(jù)出不來
});
});
數(shù)據(jù)回顯的核心邏輯(java的根據(jù)目錄格式,自行編寫)
js部分
// 服務(wù)目錄的數(shù)據(jù)回顯
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) {// 根據(jù)一級目錄的id獲取二級目錄的信息
// console.log(msg);
$('#quiz2').empty();// 清空
for (var i in msg) { // 遍歷,進(jìn)行賦值
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');// 注意:一定要調(diào)用該方法進(jìn)行中心渲染,否則數(shù)據(jù)是顯示不出來的
});
}
});
});
以上這篇基于layui的下拉列表的數(shù)據(jù)回顯方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Express實現(xiàn)前端后端通信上傳圖片之存儲數(shù)據(jù)庫(mysql)傻瓜式教程(二)
這篇文章主要介紹了Express實現(xiàn)前端后端通信上傳圖片之存儲數(shù)據(jù)庫(mysql)傻瓜教程(二)的相關(guān)資料,需要的朋友可以參考下2015-12-12

