您的位置:首頁/技術文章
文章詳情頁

ajax實現城市三級聯動

瀏覽:218日期:2022-06-12 11:08:16

本文實例為大家分享了ajax實現城市三級聯動的具體代碼,供大家參考,具體內容如下

在準備好服務器后

html部分

<div>
<select name="" id="province">
    <option value="">請選擇省份</option>
</select>
<select name="" id="city">
    <option value="">請選擇城市</option>
</select>
<select name="" id="district">
    <option value="">請選擇區域</option>
</select>
</div>

樣式部分

<style>
div {
    text-align: center;
}

select {
    width: 150px;
    height: 30px;
}
</style>

js部分

<script>
var a = 0;
var b = 0;
var d=null;

    $.ajax({
type:"get",
url:"http://127.0.0.1:6562/0929/area-json.js",
success: function(data){         
    d = JSON.parse(data.slice(10,-1)); //獲取json數據并轉化為數組數據
    $.each(d,function(index,ele){
    $("<option value = ""></option>").appendTo("#province").text(ele.name);//把省的數據插入列表中
    })
    }
    })
$("#province").on("change",function(e){  //當省變化時
    $.ajax({
type:"get",
url:"http://127.0.0.1:6562/0929/area-json.js",
success: function(data){         
    d=JSON.parse(data.slice(10,-1));
    a = e.target.selectedIndex - 1;  //當前下拉列表下標
    if(a == -1){
$("#city").html("<option value="">請選擇城市</option>");
$("#district").html("<option value="">請選擇區域</option>");
    }else{
$("#city").html("<option value="">請選擇城市</option>");
$("#district").html("<option value="">請選擇區域</option>");
if(d[a].children){
    $.each(d[a].children,function(index,ele){
$("<option value = ""></option>").appendTo("#city").text(ele.name);

    })
}
    }
    }
    })
})
$("#city").on("change",function(e){   //當市變化時
    $.ajax({
type:"get",
url:"http://127.0.0.1:6562/0929/area-json.js",
success: function(data){         
    d=JSON.parse(data.slice(10,-1));
    b = e.target.selectedIndex - 1;
    if(b == -1){
$("#district").html("<option value="">請選擇區域</option>");
    }else{
$("#district").html("<option value="">請選擇區域</option>");
if(d[a].children[b].children){
    $.each(d[a].children[b].children,function(index,ele){
$("<option value = ""></option>").appendTo("#district").text(ele.name);

    })
}
    }
    }
    })
    
})
</script>

全部代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.11.3/jquery.js"></script>
    <style>
div {
    text-align: center;
}

select {
    width: 150px;
    height: 30px;
}
    </style>
</head>
<body>
    <div>
<select name="" id="province">
    <option value="">請選擇省份</option>
</select>
<select name="" id="city">
    <option value="">請選擇城市</option>
</select>
<select name="" id="district">
    <option value="">請選擇區域</option>
</select>
    </div>
    <script>
var a = 0;
var b = 0;
var d=null;

    $.ajax({
type:"get",
url:"http://127.0.0.1:6562/0929/area-json.js",
success: function(data){         
    d = JSON.parse(data.slice(10,-1));
    $.each(d,function(index,ele){
    $("<option value = ""></option>").appendTo("#province").text(ele.name);
    })
    }
    })
$("#province").on("change",function(e){
    $.ajax({
type:"get",
url:"http://127.0.0.1:6562/0929/area-json.js",
success: function(data){         
    d=JSON.parse(data.slice(10,-1));
    a = e.target.selectedIndex - 1;
    if(a == -1){
$("#city").html("<option value="">請選擇城市</option>");
$("#district").html("<option value="">請選擇區域</option>");
    }else{
$("#city").html("<option value="">請選擇城市</option>");
$("#district").html("<option value="">請選擇區域</option>");
if(d[a].children){
    $.each(d[a].children,function(index,ele){
$("<option value = ""></option>").appendTo("#city").text(ele.name);

    })
}
    }
    }
    })
})
$("#city").on("change",function(e){
    $.ajax({
type:"get",
url:"http://127.0.0.1:6562/0929/area-json.js",
success: function(data){         
    d=JSON.parse(data.slice(10,-1));
    b = e.target.selectedIndex - 1;
    if(b == -1){
$("#district").html("<option value="">請選擇區域</option>");
    }else{
$("#district").html("<option value="">請選擇區域</option>");
if(d[a].children[b].children){
    $.each(d[a].children[b].children,function(index,ele){
$("<option value = ""></option>").appendTo("#district").text(ele.name);

    })
}
    }
    }
    })
    
})
    </script>
</body>
</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

標簽: Ajax
国产综合久久一区二区三区