解決layui 三級(jí)聯(lián)動(dòng)下拉框更新時(shí)回顯的問(wèn)題
最近接觸layui,比較簡(jiǎn)潔美觀(guān)的一款ui,但也有很多小坑,記錄一下實(shí)現(xiàn)省市區(qū)下拉三級(jí)聯(lián)動(dòng)更新回顯的問(wèn)題
<%--監(jiān)聽(tīng)省份選擇 --%> form.on('select(uprovinceId)', function(data){ initCityList('change'); });
這里面有個(gè)問(wèn)題就是 選擇的時(shí)候 如果 請(qǐng)選擇 的value 是“” 空字符串,當(dāng)選擇從河北省變到請(qǐng)選擇時(shí)不會(huì)觸發(fā)這個(gè)監(jiān)聽(tīng)事件
<script type="text/javaScript"> layui.use(['form'],function(){ var form = layui.form; <%--監(jiān)聽(tīng)省份選擇 --%> form.on('select(uprovinceId)', function(data){ initCityList('change'); }); <%--監(jiān)聽(tīng)城市選擇 --%> form.on('select(ucityId)', function(data){ initDistrictList('change'); }); <%--監(jiān)聽(tīng)修改提交 --%> form.on('submit(update)', function(data){ updateAccount(); form.render(); return false; //阻止表單跳轉(zhuǎn)。如果需要表單跳轉(zhuǎn),去掉這段即可。 }); }); <%-- 監(jiān)聽(tīng)取消按鈕 --%> $(document).on("click",".cancel",function(){ layer.closeAll("page"); }); $(function(){ <%--初始化省份列表 --%> initProvinceList('init'); initCityList('init'); initDistrictList('init'); }); <%--初始化省份列表 --%> function initProvinceList(flag){ var provinceId = $("#oldProvinceId").val(); $("#uprovinceId").append("<option value='" + -1 +"'>" + '請(qǐng)選擇' + "</option>"); $("#udistrictId").append("<option value='" + -1 + "'>" + '請(qǐng)選擇' + "</option>"); $("#ucityId").append("<option value='" + -1 + "'>" + '請(qǐng)選擇' + "</option>"); var url = "${ctx}/admin/getProvinceList.action?ranNum="+Math.random(); $.post(url,{},function(data){ var list = eval(data); for (i = 0; i < list.length; i++) { var name = list[i].province; var id = list[i].id; if(id == provinceId){ $("#uprovinceId").append("<option value='" + id + "' selected>" + name + "</option>"); }else{ $("#uprovinceId").append("<option value='" + id + "'>" + name + "</option>"); } } layui.use(['form'],function(){ var form = layui.form; form.render(); }); }); } <%--初始化城市列表 --%> function initCityList(flag){ var provinceId = $("#uprovinceId").val(); var oldProvinceId = $("#oldProvinceId").val(); if(provinceId == -1 && flag == "init"){ provinceId = oldProvinceId; } var cityId = $("#oldCityId").val(); $("#ucityId").empty(); $("#ucityId").append("<option value='" + -1 + "'>" + '請(qǐng)選擇' + "</option>"); $("#udistrictId").empty(); $("#udistrictId").append("<option value='" + -1 + "'>" + '請(qǐng)選擇' + "</option>"); var url = "${ctx}/admin/getCityList.action?ranNum="+Math.random(); $.post(url,{provinceId:provinceId},function(data){ var list = eval(data); alert(list.length+"list長(zhǎng)度"); for (i = 0; i < list.length; i++) { var name = list[i].city; var id = list[i].id; if(id == cityId){ $("#ucityId").append("<option value='" + id + "' selected>" + name + "</option>"); }else{ $("#ucityId").append("<option value='" + id + "'>" + name + "</option>"); } } layui.use(['form'],function(){ var form = layui.form; form.render(); }); }); } <%--初始化區(qū)列表 --%> function initDistrictList(flag){ var cityId = $("#ucityId").val(); var oldCityId = $("#oldCityId").val(); if(cityId == -1 && flag == "init"){ cityId = oldCityId; } var districtId = $("#oldDistrictId").val(); $("#udistrictId").empty(); $("#udistrictId").append("<option value='" + -1 + "'>" + '請(qǐng)選擇' + "</option>"); var url = "${ctx}/admin/getDistrictList.action?ranNum="+Math.random(); $.post(url,{cityId:cityId},function(data){ var list = eval(data); for (i = 0; i < list.length; i++) { var name = list[i].district; var id = list[i].id; if( id == districtId){ $("#udistrictId").append("<option value='" + id + "' selected>" + name + "</option>"); }else{ $("#udistrictId").append("<option value='" + id + "'>" + name + "</option>"); } } layui.use(['form'],function(){ var form = layui.form; form.render(); }); }); } </script> <div class="layui-form-item city" style="margin-bottom: -8px;"> <label class="layui-form-label">所負(fù)責(zé)區(qū)域</label> <div class="layui-inline"> <div class="layui-input-inline" style="width: 90px;margin-right: 0px;margin-bottom: 0px;"> <select id="uprovinceId" name="provinceId" lay-verify="required" lay-search="" lay-filter="uprovinceId"> <!-- <option value="-1">請(qǐng)選擇</option> --> </select> </div> </div> <div class="layui-inline"> <div class="layui-input-inline" style="width: 90px;margin-right: 0px;margin-bottom: 0px;"> <select id="ucityId" name="cityId" lay-verify="required" lay-search="" lay-filter="ucityId" οnchange="initDistrictList()"> <!-- <option value="-1">請(qǐng)選擇</option> --> </select> </div> </div> <div class="layui-inline"> <div class="layui-input-inline" style="width: 90px;margin-right: 0px;margin-bottom: 0px;"> <select id="udistrictId" name="districtId" lay-verify="required" lay-search=""> <!-- <option value="-1">請(qǐng)選擇</option> --> </select> </div> </div> </div> <input type = "hidden" value="${admin.provinceId }" id="oldProvinceId"> <input type = "hidden" value="${admin.cityId }" id="oldCityId"> <input type = "hidden" value="${admin.districtId }" id="oldDistrictId">
以上這篇解決layui 三級(jí)聯(lián)動(dòng)下拉框更新時(shí)回顯的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
ES6擴(kuò)展運(yùn)算符的用途實(shí)例詳解
這篇文章主要介紹了ES6擴(kuò)展運(yùn)算符的用途 ,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-08-08JS實(shí)現(xiàn)仿PS的調(diào)色板效果完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)仿PS的調(diào)色板效果,結(jié)合完整實(shí)例形式分析了javascript通過(guò)運(yùn)算與動(dòng)態(tài)操作頁(yè)面元素實(shí)現(xiàn)調(diào)色板功能的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12解決typescript項(xiàng)目報(bào)錯(cuò):找不到模塊“xxx”或其相應(yīng)的類(lèi)型聲明問(wèn)題
這篇文章主要介紹了解決typescript項(xiàng)目報(bào)錯(cuò):找不到模塊“xxx”或其相應(yīng)的類(lèi)型聲明問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06easyui關(guān)于validatebox實(shí)現(xiàn)多重規(guī)則驗(yàn)證的方法(必看)
下面小編就為大家?guī)?lái)一篇easyui關(guān)于validatebox實(shí)現(xiàn)多重規(guī)則驗(yàn)證的方法(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04javascript vvorld 在線(xiàn)加密破解方法
朋友公司開(kāi)發(fā)的在線(xiàn)JS加密站點(diǎn),內(nèi)測(cè)中,自己試過(guò)不能找到加密后的源代碼,不知道還有那位大大能夠破解2008-11-11JavaScript中數(shù)據(jù)類(lèi)型轉(zhuǎn)換總結(jié)
在js中,數(shù)據(jù)類(lèi)型轉(zhuǎn)換分為顯式數(shù)據(jù)類(lèi)型轉(zhuǎn)換和隱式數(shù)據(jù)類(lèi)型轉(zhuǎn)換。本文將對(duì)此進(jìn)行介紹,具有一定的參考價(jià)值,需要的朋友一起來(lái)看下吧2016-12-12