当前位置: 首页>編程日記>正文

LayUI使用distpicker.js插件实现三级联动

LayUI使用distpicker.js插件实现三级联动

本文前端是采用layui模板,三级联动采用的是distpicker.js插件

distpicker.js插件地址下载distpicker文件后,dist文件夹中的不能用(这是编译压缩后的文件),只能用src文件夹中的

1、新增页面

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>distpicker三级联动</title><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"><link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
</head><body>		<form class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin" style="padding: 20px 0 0 0;"><div class="layui-row layui-col-space10 layui-this layuiadmin-card-list userDetail" style="text-align: left;">		<div class="layui-col-lg3 layui-col-md4 layui-col-sm4 layui-col-xs6"><label class="layui-form-label"><span style="color: red;">* </span>地区</label><div class="layui-input-inline" data-toggle="distpicker" style="display: flex;"><div class="form-group"><select class="form-control" lay-filter="province" id="province" lay-verify="required" data-province="-- 省 --"></select></div><div class="form-group"><select class="form-control" lay-filter="city" id="city" lay-verify="required" data-city="-- 市 --"></select></div><div class="form-group"><select class="form-control" lay-filter="district" id="district" lay-verify="required" data-district="-- 区 --"></select></div></div></div>		</div><div class="layui-form-item layui-hide" ><input type="button" lay-submit lay-filter="LAY-user-front-submit" id="LAY-user-front-submit" value="确认"></div></form><script src="../../../layuiadmin/layui/layui.js"></script><!-- 下面的jquery.min.js和 distpicker.js插件是必须要的,并且不能用下载distpicker文件中压缩后的,只能用src中的原本的--><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script src="../../../layuiadmin/layui/lay/modules/distpicker.js"></script>   <!-- 注意路径 --><script>layui.config({base: '../../../layuiadmin/' //静态资源所在路径}).extend({index: 'lib/index'//主入口模块});</script><script>layui.use(['index', 'form','element','jquery'], function(){var form = layui.form,$ = layui.$;//监听地址,用来渲染加载三级联动中的地址form.on('select(province)', function (data) {$("#province").val(data.value).change();form.render();});form.on('select(city)', function (data) {$("#city").val(data.value).change();form.render();});form.on('select(district)', function (data) {$("#district").val(data.value).change();form.render();});});</script>  	  
</body></html>

2、编辑页面

编辑页面的其他内容使用了layui的layptl模板,所以三级联动的js模块在加载时一定要放在layptl模板之后,否则地址三级联动的下拉框中的地址内容加载不进去

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>编辑distpicker三级联动</title><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"><link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
</head>
<body><script id="layuiAdmin-form-edit" type="text/html" style="padding: 20px 0 0 0;"><form class="layui-form" action=""><div class="layui-row layui-col-space10 layui-this layuiadmin-card-list userDetail" style="text-align: left;"><div class="layui-col-lg3 layui-col-md4 layui-col-sm4 layui-col-xs6"><label class="layui-form-label"><span style="color: red; ">* </span>角色</label><div class="layui-input-inline" style="width: 182px;"><select name="roleId">{{# if (layui.sessionData('roleNumber').roleNumber== '1') { }}<option value="2" {{#  if(d.userEdit.roleId == "2"){ }} selected {{#  } }} >管理员</option><option value="3" {{#  if(d.userEdit.roleId == "3"){ }} selected {{#  } }}>代理商</option><option value="4" {{#  if(d.userEdit.roleId == "4"){ }} selected {{#  } }}>医生</option>{{# } else if (layui.sessionData('roleNumber').roleNumber== '2') { }}<option value="3" {{#  if(d.userEdit.roleId == "3"){ }} selected {{#  } }}>代理商</option><option value="4" {{#  if(d.userEdit.roleId == "4"){ }} selected {{#  } }}>医生</option>{{# } else { }}<option value="4" {{#  if(d.userEdit.roleId == "4"){ }} selected {{#  } }}>医生</option>{{# } }}</select></div></div><div class="layui-col-lg3 layui-col-md4 layui-col-sm4 layui-col-xs6"><label class="layui-form-label"><span style="color: red; ">* </span>地区</label><div class="layui-input-inline" data-toggle="distpicker" id="distpicker" style="display: flex;"><div class="form-group"><select class="form-control" lay-filter="province" id="province" lay-verify="required"></select></div><div class="form-group"><select class="form-control" lay-filter="city" id="city" lay-verify="required"></select></div><div class="form-group"><select class="form-control" lay-filter="district" id="district" lay-verify="required"></select></div></div></div></div><div class="layui-form-item lay-hide" ><div class="layui-input-block" style="display: none;"><button type="button" ></button></div></div><div class="layui-form-item"><div class="layui-input-block"><button type="submit" class="layui-btn" lay-submit="" lay-filter="LAY-user-edit-submit">确定</button><button type="button" class="layui-btn layui-btn-primary" lay-href="user/user/list.html">取消</button></div></div></form>
</script><div class="layui-fluid"><div class="layui-row layui-col-space15"><div class="layui-col-sm12"><div class="layui-card"><div class="layui-card-header">编辑</div><div class="layui-card-body" id="view"></div></div></div></div>
</div><div id="view"></div><script src="../../../layuiadmin/layui/layui.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="../../../layuiadmin/layui/lay/modules/distpicker.js"></script><script>layui.config({base: '../../../layuiadmin/' //静态资源所在路径}).extend({index: 'lib/index' //主入口模块})
</script><script>
layui.use(['index', 'laydate', 'layer', 'form', 'element', 'admin', 'laytpl'], function(){var laydate = layui.laydate,layer = layui.layer,form = layui.form,$ = layui.$,laytpl = layui.laytpl,admin = layui.admin;//获取url search值function getSearch(name) {var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');var r = window.location.search.substr(1).match(reg);if (r != null) {return unescape(r[2]);}return null;}var userId = getSearch("userId");admin.req({url:layui.setter.url + 'user/getUserInfo',type: 'post',data: {LOGINTOKEN:layui.data('tokenName').LOGINTOKEN,userId:userId,PageNum:1,PageSize:1},done: function(res){var data = {"userEdit":res.data};//加载模板var getTpl=document.getElementById('layuiAdmin-form-edit').innerHTML,view = document.getElementById('view');laytpl(getTpl).render(data, function(html){view.innerHTML = html;});//地址三级联动$("#distpicker").distpicker('destroy');$("#distpicker").distpicker({autoSelect: false,placeholder: false});//从后台获取数据后并进行分割,然后填充到前端页面let myArea = res.data.area.split('-');$("#province").val(myArea[0]);$("#province").trigger("change");$("#city").val(myArea[1]);$("#city").trigger("change");$("#district").val(myArea[2]);$("#district").trigger("change");//插件显示form.render();}});//监听地址form.on('select(province)', function (data) {$("#province").val(data.value).change();form.render();});form.on('select(city)', function (data) {$("#city").val(data.value).change();form.render();});form.on('select(district)', function (data) {$("#district").val(data.value).change();form.render();});// 监听提交form.on('submit(LAY-user-edit-submit)', function(data){//获取三级联动地址提交的字段并进行拼接var myProvince = $("#province option:selected").val();var myCity = $("#city option:selected").val();var myDistrict = $("#district option:selected").val();data.field.area = myProvince + '-' + myCity + '-' +  myDistrict;data.field.LOGINTOKEN = layui.data('tokenName').LOGINTOKEN;data.field.userId = userId;let userString = JSON.stringify(data.field);data.field.userString = userString;return false;});
});
</script></body>
</html>


https://www.fengoutiyan.com/post/14770.html

相关文章:

  • autojs打包应用插件
  • layui 常用插件
  • 各种插件
  • layui vue整合
  • 前端插件
  • layui select
  • js框架
  • 插件
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機