layui實現(xiàn)三級聯(lián)動效果
更新時間:2019年07月26日 11:00:24 作者:shao_keke
這篇文章主要為大家詳細(xì)介紹了layui實現(xiàn)三級聯(lián)動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了layui實現(xiàn)三級聯(lián)動效果的具體代碼,供大家參考,具體內(nèi)容如下
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <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, maximum-scale=1"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="format-detection" content="telephone=no"> <link rel="stylesheet" href="src/css/layui.css" /> </head> <body> <div class="layui-form"> <div class="layui-input-inline"> <select name="province" lay-filter="province" class="province"> <option value="">請選擇省</option> </select> </div> <div class="layui-input-inline"> <select name="city" lay-filter="city" disabled> <option value="">請選擇市</option> </select> </div> <div class="layui-input-inline"> <select name="area" lay-filter="area" disabled> <option value="">請選擇縣/區(qū)</option> </select> </div> </div> </body> <script type="text/javascript" src="src/layui.js"></script> <script type="text/javascript" src="src/address.js"></script> <script type="text/javascript"> layui.config({ base : "src/" //address.js的路徑 }).use([ 'layer', 'jquery', "address" ], function() { var layer = layui.layer, $ = layui.jquery, address = layui.address(); }); </script> <html>
JS:address.js
layui.define(["form","jquery"],function(exports){ var form = layui.form, $ = layui.jquery, Address = function(){}; Address.prototype.provinces = function() { //加載省數(shù)據(jù) var proHtml = '',that = this; $.get("area",{code:'',type:1}, function (pro) { for (var i = 0; i < pro.length; i++) { proHtml += '<option value="' + pro[i].code + '">' + pro[i].name + '</option>'; } //初始化省數(shù)據(jù) $("select[name=province]").append(proHtml); form.render(); form.on('select(province)', function (proData) { $("select[name=area]").html('<option value="">請選擇縣/區(qū)</option>'); var value = proData.value; if (value > 0) { $.post('area',{code:value,type:2},function (val) { //console.log(val.length) ; that.citys(val) ; },"json"); //that.citys(pro[$(this).index() - 1].childs); } else { $("select[name=city]").attr("disabled", "disabled"); } }); },'json'); } //加載市數(shù)據(jù) Address.prototype.citys = function(citys) { var cityHtml = '<option value="">請選擇市</option>',that = this; for (var i = 0; i < citys.length; i++) { cityHtml += '<option value="' + citys[i].code + '">' + citys[i].name + '</option>'; } $("select[name=city]").html(cityHtml).removeAttr("disabled"); form.render(); form.on('select(city)', function (cityData) { var value = cityData.value; if (value > 0) { $.post('area',{code:value,type:3},function (area) { that.areas(area) ; },"json"); //that.areas(citys[$(this).index() - 1].childs); } else { $("select[name=area]").attr("disabled", "disabled"); } }); } //加載縣/區(qū)數(shù)據(jù) Address.prototype.areas = function(areas) { var areaHtml = '<option value="">請選擇縣/區(qū)</option>'; for (var i = 0; i < areas.length; i++) { areaHtml += '<option value="' + areas[i].code + '">' + areas[i].name + '</option>'; } $("select[name=area]").html(areaHtml).removeAttr("disabled"); form.render(); } var address = new Address(); exports("address",function(){ address.provinces(); }); });
ajax ->PHP 后臺
/** * 地區(qū)三級聯(lián)動 */ public function areaAction(){ $code = $this->sys_getparam('code' ) ; // 獲取省市區(qū)數(shù)據(jù) $type = $this->sys_getparam('type' ) ; if($type==1){ //省 $sql = " SELECT id AS code,province AS name FROM a_province ; " ; } if($type==2){ //市 $sql = " SELECT id AS code,city AS name FROM a_city WHERE province_id= $code ; " ; } if($type==3){ //區(qū) $sql = " SELECT id AS code,district AS name FROM a_district WHERE city_id= $code ; " ; } $areaData = app::dbload($sql,'all'); echo json_encode($areaData) ; }
效果:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript基于DOM操作實現(xiàn)簡單的數(shù)學(xué)運算功能示例
這篇文章主要介紹了JavaScript基于DOM操作實現(xiàn)簡單的數(shù)學(xué)運算功能,涉及javascript節(jié)點操作、元素遍歷及數(shù)學(xué)運算相關(guān)操作技巧,需要的朋友可以參考下2017-01-01JavaScript實現(xiàn)數(shù)組在指定位置插入若干元素的方法
這篇文章主要介紹了JavaScript實現(xiàn)數(shù)組在指定位置插入若干元素的方法,涉及javascript中splice方法的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04js數(shù)組刪除問題(splice和delete的用法)
這篇文章主要介紹了js數(shù)組刪除問題(splice和delete的用法),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02符合W3C網(wǎng)頁標(biāo)準(zhǔn)的iframe標(biāo)簽的使用方法
符合W3C網(wǎng)頁標(biāo)準(zhǔn)的iframe標(biāo)簽的使用方法...2007-07-07javascript學(xué)習(xí)基礎(chǔ)筆記之DOM對象操作
javascript是一種基于對象和世界驅(qū)動,并且安全性較強(qiáng)的腳本語言。一個完整的javascript實現(xiàn)包括核心(ECMAScript),文檔對象模型(DOM)和瀏覽器對象模型(BOM)2011-11-11