1. 程式人生 > 實用技巧 >layui 省市區三級聯動 ajax調介面

layui 省市區三級聯動 ajax調介面

效果圖:

HTML頁面程式碼

 1 <div class="layui-form-item">
 2     <label class="layui-form-label">收貨地址</label>
 3     <div class="layui-input-inline" style="width: 20%;">
 4         <select name="province" id="province" lay-filter="province" >
 5             <option value="0">
請選擇省份</option> 6 @foreach($province_list as $val) 7 <option value="{{$val['id']}}">{{$val["name"]}}</option> 8 @endforeach 9 </select> 10 </div> 11 <div class="layui-form-mid">-</div> 12 <div class
="layui-input-inline" style="width: 20%;"> 13 <select name="city" id="city" lay-filter="city"> 14 <option value="0">請選擇城市</option> 15 </select> 16 </div> 17 <div class="layui-form-mid">-</div> 18 <div class="layui-input-inline"
style="width: 20%;"> 19 <select name="district" id="district"> 20 <option value="0">請選擇地區</option> 21 </select> 22 </div> 23 </div>

js程式碼:

 1 <script>
 2     // +----------------------------------------------------------------------
 3     // | 選擇地址
 4     // +----------------------------------------------------------------------
 5     layui.use(['layer', 'jquery', 'form'], function () {
 6         var layer = layui.layer,
 7                 $ = layui.jquery,
 8                 form = layui.form;
 9 
10         form.on('select(province)', function(data){
11             var cityid = data.value;
12             $.ajax({
13                 headers: {
14                     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
15                 },
16                 type: "POST",
17                 url: "/Order/city",
18                 data:{cityid:cityid},
19                 datatype:"JSON",
20                 success:function(data){
21                     $("#city").html(''); 
22                     $("#district").html(''); 
23                     var list = data.data;
24                     var citysHtml = "<option value='0'>請選擇城市</option>";
25                     $.each(list, function (index,city) {     
26                         citysHtml += '<option value="' + city.id + '" >' + city.name + '</option>'; 
27                     });
28                     $("#city").html(citysHtml);
29                     form.render('select');
30                 }
31             });
32             
33         });
34         form.on('select(city)', function(data){
35             var cityid = data.value;
36             $.ajax({
37                 headers: {
38                     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
39                 },
40                 type: "POST",
41                 url: "/Order/district",
42                 data:{cityid:cityid},
43                 datatype:"JSON",
44                 success:function(data){  
45                     // var json =  JSON.parse(data);
46                     var list = data.data;
47                     $("#district").empty();
48                     $("#district").append("<option value='0'>請選擇地區</option>"); 
49                     $.each(list, function (index) {     
50                         $("#district").append("<option value="+list[index].id+">"+list[index].name+"</option>"); 
51                     });
52                     form.render('select');
53                 }
54             });
55             
56         });
57     });
58 </script>