LayUI from组件省市县级联下拉框选择

部分代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta 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">

<title>省市县级联</title> <#include "/widget/common-css.html">

<link rel="stylesheet" href="layui/css/layui.css" />//layui.css存放的位置

</head>
<body class="body">
<fieldset class="layui-elem-field layui-field-title">
<legend>省市县级联</legend>
</fieldset>


<#-- 省市县级联联动 -->
<form class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label">选择地区</label>
<div class="layui-input-inline">
<select id="province" name="province" lay-filter="province">
<option value="">请选择省</option>
</select>
</div>
<div class="layui-input-inline" style="display: none;">
<select id="city" name="city" lay-filter="city">
<option value="">请选择市</option>
</select>
</div>
<div class="layui-input-inline" style="display: none;">
<select id="area" name="area" lay-filter="area">
<option value="">请选择县/区</option>
</select>
</div>
<input type="button" class="layui-btn" value="提交"
οnclick="getSelectValue()">
</div>

</form>

        <script type="text/javascript"
src="${base}/static/plugins/layui/layui.js"></script>//你的layui.js目录地址
<script type="text/javascript" 

src="${base}/static/js/app/xzzf/area.js"></script>//area.js存放省市县/区数据

        <script type="text/javascript">
function getSelectValue() {   //获取省市县/区在area.js配置的地区编码
var province = document.getElementById("province").value;
var city = document.getElementById("city").value;
var area = document.getElementById("area").value;


alert(province.split('_', 1));
alert(city.split('_', 1));
alert(area);
}
</script>

        <script type="text/javascript" 

                //初始数据
        var areaData = Area;
        var $form;
        var form;
        var $;
        layui.use(['jquery', 'form'], function() {
            $ = layui.jquery;
            form = layui.form();
            $form = $('form');
            loadProvince();
        });
         //加载省数据   '_' + areaData[i].mallCityList.length + '_' + i + 
        function loadProvince() {
            var proHtml = '';
            for (var i = 0; i < areaData.length; i++) {
                proHtml += '<option value="' + areaData[i].provinceCode + '_' + areaData[i].mallCityList.length + '_' + i +'">' + areaData[i].provinceName + '</option>';
            }
            //初始化省数据
            $form.find('select[name=province]').append(proHtml);
            form.render();
            form.on('select(province)', function(data) {
                $form.find('select[name=area]').html('<option value="">请选择县/区</option>').parent().hide();
                var value = data.value;
                var d = value.split('_');
                var code = d[0];
                var count = d[1];
                var index = d[2];
                if (count > 0) {
                    loadCity(areaData[index].mallCityList);
                } else {
                    $form.find('select[name=city]').parent().hide();
                }
            });
        }
         //加载市数据   '_' + citys[i].mallAreaList.length + '_' + i +
        function loadCity(citys) {
            var cityHtml = '';
            for (var i = 0; i < citys.length; i++) {
                cityHtml += '<option value="' + citys[i].cityCode + '_' + citys[i].mallAreaList.length + '_' + i +'">' + citys[i].cityName + '</option>';
            }
            $form.find('select[name=city]').html(cityHtml).parent().show();
            form.render();
            form.on('select(city)', function(data) {
                var value = data.value;
                var d = value.split('_');
                var code = d[0];
                var count = d[1];
                var index = d[2];
                if (count > 0) {
                    loadArea(citys[index].mallAreaList);
                } else {
                    $form.find('select[name=area]').parent().hide();
                    
                }
            });
        }
         //加载县/区数据
        function loadArea(areas) {
            var areaHtml = '';
            for (var i = 0; i < areas.length; i++) {
                areaHtml += '<option value="' + areas[i].areaCode + '">' + areas[i].areaName + '</option>';
            }
            $form.find('select[name=area]').html(areaHtml).parent().show();
            form.render();
            form.on('select(area)', function(data) {
            });
        }

        </script>

 

<!DOCTYPE html>

<html lang="en">

<head>

<meta 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">

<title>省市县级联</title> <#include "/widget/common-css.html">

<link rel="stylesheet" href="layui/css/layui.css" />//layui.css存放的位置

</head>

<body class="body">

<fieldset class="layui-elem-field layui-field-title">

<legend>省市县级联</legend>

</fieldset>


<#-- 省市县级联联动 -->

<form class="layui-form">

<div class="layui-form-item">

<label class="layui-form-label">选择地区</label>

<div class="layui-input-inline">

<select id="province" name="province" lay-filter="province">

<option value="">请选择省</option>

</select>

</div>

<div class="layui-input-inline" style="display: none;">

<select id="city" name="city" lay-filter="city">

<option value="">请选择市</option>

</select>

</div>

<div class="layui-input-inline" style="display: none;">

<select id="area" name="area" lay-filter="area">

<option value="">请选择县/区</option>

</select>

</div>

<input type="button" class="layui-btn" value="提交"

οnclick="getSelectValue()">

</div>

</form>

<script type="text/javascript"

src="${base}/static/plugins/layui/layui.js"></script>//你的layui.js目录地址

<script type="text/javascript"

src="${base}/static/js/app/xzzf/area.js"></script>//area.js存放省市县/区数据

<script type="text/javascript">

function getSelectValue() { //获取省市县/区在area.js配置的地区编码

var province = document.getElementById("province").value;

var city = document.getElementById("city").value;

var area = document.getElementById("area").value;


alert(province.split('_', 1));

alert(city.split('_', 1));

alert(area);

}

</script>

<script type="text/javascript"

//初始数据

var areaData = Area;

var $form;

var form;

var $;

layui.use(['jquery', 'form'], function() {

$ = layui.jquery;

form = layui.form();

$form = $('form');

loadProvince();

});

//加载省数据 '_' + areaData[i].mallCityList.length + '_' + i +

function loadProvince() {

var proHtml = '';

for (var i = 0; i < areaData.length; i++) {

proHtml += '<option value="' + areaData[i].provinceCode + '_' + areaData[i].mallCityList.length + '_' + i +'">' + areaData[i].provinceName + '</option>';

}

//初始化省数据

$form.find('select[name=province]').append(proHtml);

form.render();

form.on('select(province)', function(data) {

$form.find('select[name=area]').html('<option value="">请选择县/区</option>').parent().hide();

var value = data.value;

var d = value.split('_');

var code = d[0];

var count = d[1];

var index = d[2];

if (count > 0) {

loadCity(areaData[index].mallCityList);

} else {

$form.find('select[name=city]').parent().hide();

}

});

}

//加载市数据 '_' + citys[i].mallAreaList.length + '_' + i +

function loadCity(citys) {

var cityHtml = '';

for (var i = 0; i < citys.length; i++) {

cityHtml += '<option value="' + citys[i].cityCode + '_' + citys[i].mallAreaList.length + '_' + i +'">' + citys[i].cityName + '</option>';

}

$form.find('select[name=city]').html(cityHtml).parent().show();

form.render();

form.on('select(city)', function(data) {

var value = data.value;

var d = value.split('_');

var code = d[0];

var count = d[1];

var index = d[2];

if (count > 0) {

loadArea(citys[index].mallAreaList);

} else {

$form.find('select[name=area]').parent().hide();

}

});

}

//加载县/区数据

function loadArea(areas) {

var areaHtml = '';

for (var i = 0; i < areas.length; i++) {

areaHtml += '<option value="' + areas[i].areaCode + '">' + areas[i].areaName + '</option>';

}

$form.find('select[name=area]').html(areaHtml).parent().show();

form.render();

form.on('select(area)', function(data) {

});

}

</script>