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 相关文章推荐
关于__defineGetter__ 和__defineSetter__的说明
May 12 Javascript
javascript 客户端验证上传图片的大小(兼容IE和火狐)
Aug 15 Javascript
关于js遍历表格的实例
Jul 10 Javascript
在javascript中实现函数数组的方法
Dec 25 Javascript
常用jQuery代码分享
Jul 14 Javascript
jstl中判断list中是否包含某个值的简单方法
Oct 14 Javascript
jQuery快速实现商品数量加减的方法
Feb 06 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
Feb 14 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
Sep 23 Javascript
基于es6三点运算符的使用方法(实例讲解)
Oct 12 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 Vue.js
解决await在forEach中不起作用的问题
Feb 25 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
Yii2 批量插入、更新数据实例
2017/03/15 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
Js callBack 返回前一页的js方法
2008/11/30 Javascript
百度留言本js 大家可以参考下
2009/10/13 Javascript
jQuery入门问答 整理的几个常见的初学者问题
2010/02/22 Javascript
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
使用jQuery时Form表单元素ID和name命名大忌
2014/03/06 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
[01:00:53]OG vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
python中多个装饰器的执行顺序详解
2018/10/08 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
公司营业员的自我评价
2014/03/04 职场文书
《泉水》教学反思
2014/04/11 职场文书
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
大学生英文求职信范文
2015/03/19 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
Elasticsearch 聚合查询和排序
2022/04/19 Python
Win11快速关闭所有广告推荐
2022/04/19 数码科技