这篇文章主要为大家详细介绍了ajax实现城市三级联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了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实现城市三级联动
基础教程推荐
猜你喜欢
- 基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽) 2023-02-01
- 分页技术原理与实现之无刷新的Ajax分页技术(三) 2023-01-20
- 第7天:CSS入门 2022-11-04
- 解决ajax的delete、put方法接收不到参数的问题方法 2023-02-23
- vue的 Mixins (混入) 2023-10-08
- 深入浅析Jsonp解决ajax跨域问题 2022-12-28
- ExtJS 3.x DateField menuListeners 显示/隐藏 2022-09-15
- Vue+WebSocket实现在线聊天 2023-10-08
- ECSHOP中实现ajax弹窗登录功能 2023-01-31
- 关于 css:WebKit (iPad) CSS3: 背景过渡闪烁 2022-09-21