jQuery基于BootStrap样式实现无限极地区联动


Posted in Javascript onAugust 26, 2016

HTML 部分

<div class="row" style="margin:100px auto;">
<form method="post">
<div class="col-md-12" id="area">
<div class="col-md-2 pr0">
<select name='area[]' num='0' class="form-control input-sm select" id="main" onchange="change(this)">
<option>请选择地区</option>
</select>
</div>
</div>
<button type="submit">tijiao</button>
</form>
</div>

js部分

<script>
// 首次获取 ajax数据
$.get("http://127.0.0.1:83/areas/sec", {id:'0'},
function(data){
var option="<option value=''>请选择</option>";
var list=data.data;
for(var key in list){
// console.log(key);
// console.log(data[key].areaname);
option+="<option value='"+key+"'>"+list[key].areaname+"</option>";
}
$('#main').html(option);
},'jsonp');
function change(event){
$('.select').each(function(i){
//清除重选后的 老节点
console.log($(event).attr('num'));
if($(this).attr('num')>$(event).attr('num')){
$(this).parent().remove();
}
})
var sel=$('.select').index($(event))+1;
var id=$(event).val();
$.ajax({
type: "get",
dataType:"jsonp",
url: "http://127.0.0.1:83/areas/sec",
data: {id:id},
sync: false,//设置为同步
success: function(data){
console.log(data);
var list =data.data
if(data.state==='1'){
var option="<option value=''>请选择</option>";
for(var key in list){
option+="<option value='"+key+"'>"+list[key].areaname+"</option>";
}
//$('#tmp').html(option);
//tmp=option
$('<div class="col-md-2 pr0"><select name="area[]" num="'+sel+'" class="form-control input-sm select" onchange="change(this)">'+option+'</select></div>').appendTo('#area');
}
}
});
}
</script>

后端返回的数据为

{
state:1,
data:{
{1:{
areaname:"呼和浩特市"
id:"150100"
level:"2"
pid:"150000"
 }...
}}

Javascript 相关文章推荐
突发奇想的一个jquery插件
Nov 19 Javascript
Javascript/Jquery——简单定时器的多种实现方法
Jul 03 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
Dec 08 Javascript
Bootstrap CDN和本地化环境搭建
Oct 26 Javascript
详解Angular 4.x Injector
May 04 Javascript
underscore之Collections_动力节点Java学院整理
Jul 10 Javascript
vue forEach循环数组拿到自己想要的数据方法
Sep 21 Javascript
微信小程序下拉框组件使用方法详解
Dec 28 Javascript
在vue中使用setInterval的方法示例
Apr 16 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
May 23 Javascript
node基于async/await对mysql进行封装
Jun 20 Javascript
BootStrap无限级分类(无限极分类封装版)
Aug 26 #Javascript
jquery 动态合并单元格的实现方法
Aug 26 #Javascript
轻松掌握JavaScript中介者模式
Aug 26 #Javascript
修改jquery中dialog的title属性方法(推荐)
Aug 26 #Javascript
修改Jquery Dialog 位置的实现方法
Aug 26 #Javascript
在线引用最新jquery文件的实现方法
Aug 26 #Javascript
纯前端JavaScript实现Excel IO案例分享
Aug 26 #Javascript
You might like
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
CodeIgniter扩展核心类实例详解
2016/01/20 PHP
很酷的javascript loading效果代码
2008/06/18 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
jQuery+json实现的简易Ajax调用实例
2015/12/14 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
javascript history对象详解
2017/02/09 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
js实现点赞效果
2020/03/16 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
python 自动提交和抓取网页
2009/07/13 Python
Python的函数的一些高阶特性
2015/04/27 Python
python中引用与复制用法实例分析
2015/06/04 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
python学生信息管理系统(完整版)
2020/04/05 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
Python程序控制语句用法实例分析
2020/01/14 Python
C#软件工程师英语面试题
2015/06/07 面试题
中专生毕业自我鉴定
2013/11/01 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
八达岭长城导游词
2015/01/30 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书