<form action="#" name="myform">
<label>省</label><select name="provice" id="provice"><option value="-1">请输入省份</option></select>
<label>市</label><select name="city" id="city"><option value="-1">请输入城市</option></select>
<label>县</label><select name="locale" id="locale"><option value="-1">请输入区县</option></select>
</form>

2. 定义json数据源:

    var jsonData = [{
treeNode : '请输入省份',
value : -1,
childNode : [{
treeNode : '请输入城市',
value : -1,
childNode : [{
treeNode : '请输入区县',
value : -1,
childNode : []
}]
}]
},{
treeNode : '北京',
value : 1,
childNode : [{
treeNode : '东城区',
value : 11,
childNode : []
},{
treeNode : '西城区',
value : 12,
childNode : []
}]
},{
treeNode : '广西壮族自治区',
value : 2601,
childNode : [{
treeNode : '南宁',
value : 6653,
childNode : [{
treeNode : '横县',
value : 10799,
childNode : []
}, {
treeNode : '宾阳县',
value : 10800,
childNode : []
}]
}]
}]

3. javascript代码:

    function initCountry(){
var provice = $("#provice");
var city = $("#city");
var locale = $("#locale");
var proviceStr = "";
$.each(<span style="color:#FF0000;">jsonData</span>,function(index,items){
proviceStr += "<option value='"+jsonData[index].value+"'>"+jsonData[index].treeNode+"</option>";
});
provice.empty().append(proviceStr);
provice.bind("change",function(){
if($(this).find(":selected").attr("value") == -1){
city.empty().append("<option value='-1'>请输入区县</option>");
}
});
provice.bind("change",function(){
var cityStr = '';
var index = provice.find(":selected").index();
$.each(jsonData[index].childNode,function(index,items){
city.empty();
cityStr += "<option value='"+items.value+"'>"+items.treeNode+"</option>";
city.append(cityStr);
})
changeLocale();
});
city.bind("change",changeLocale);
function changeLocale(){
var localeStr = '';
var index = provice.find(":selected").index();
var index2 = city.find(":selected").index();
$.each(jsonData[index].childNode[index2].childNode,function(index,items){
locale.empty();
localeStr += "<option value='"+items.value+"'>"+items.treeNode+"</option>";
locale.append(localeStr);
})
if(localeStr == ''){
locale.empty();
locale.append("<option value='-11'>请输入区县</option>");
}
}
}
$(function(){
initCountry(); })

用jquery写的json省市县三级联动下拉的更多相关文章

  1. 项目总结01:JSP mysql SpringMvc下中国省市县三级联动下拉框

    JSP mysql SpringMvc下中国省市县三级联动下拉框 关键词 JSP  mysql数据库  SpringMvc  ajax   Controller层  Service层  中国地区  省 ...

  2. jquery+html三级联动下拉框

    jquery+html三级联动下拉框及详情页面加载时的select初始化问题   html写的三个下拉框,如下: <select name="ddlQYWZYJ" id=&q ...

  3. PHP用ajia代码写三级联动下拉

    下面是我做三级联动下拉的步骤以及逻辑 第一步:先做一个省市区表格 第二步:建个PHP页面显示用我是在<body>里放<div>用来接收要显示的省市区表格信息,里面嵌入jquer ...

  4. jquery+ligerform三级联动下拉框

    如下为ligerform里的三级联动下拉框: var formData=[ {display:,width:,space:,type:"select",group:"区域 ...

  5. 用jsp实现省市区三级联动下拉

    jsp+jquery实现省市区三级联动下拉 不少系统都需要实现省市区三级联动下拉,像人口信息管理.电子商务网站.会员管理等,都需要填写地址相关信息.而用ajax实现的无刷新省市区三级联动下拉则可以改善 ...

  6. JS年月日三级联动下拉框日期选择代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. Android实现三级联动下拉框 下拉列表spinner

    Android实现(省.市.县)三级联动下拉框 下拉列表spinner 转载请注明出处: http://www.goteny.com/articles/2013/11/46.html http://w ...

  8. Web 1三级联动 下拉框 2添加修改删除 弹框

    Web  三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...

  9. JQ与AJAX 省市区三级联动下拉框

    用于初学者学习基本的联动下拉框,废话不多说,见代码 首先看控制器里的3个下拉框对应代码: public ActionResult GetProvinceList() { ProvinceReposit ...

随机推荐

  1. querySelectorAll与childNodes

    NodeList 对象是一个节点的集合,是由 Node.childNodes 和 document.querySelectorAll 返回的. html代码: <ul id="pare ...

  2. RefulApi自动化测试~Hitchhiker的部署

    Hitchhiker是一个在github上开源的项目,被善友大哥收录到了它的微服务工具包里<开源的 Restful Api 集成测试工具 Hitchhiker>,同时源代码也开源到了git ...

  3. MySQL查询长数据是无值返回(可以尝试换行符)

    如,要在数据库中包含这样数据的记录有多少条: <table class="link-more-blue" style="width: 100%;" bor ...

  4. CTPN_论文阅读总结

    论文全名:Detecting Text in Natural Image with Connectionist Text Proposal Network 1.摘要 (1)本文提出新型网络CTPN,用 ...

  5. select操作大全

    每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"></select&g ...

  6. vs2017取消起始页(设定起始页)/(.ashx文件的添加)

    1.设定起始页:在要设定起始页的视图(如Index视图)上直接右击,然后点击“设为起始页” 2.取消起始页:点击菜单栏“调试”,然后点击最后一行“项目名+属性”,打开后选中左侧栏中的“web”,选中“ ...

  7. python memory-management

    http://deeplearning.net/software/theano/tutorial/python-memory-management.html

  8. linux搭建nginx图片服务器

    1:参考http://blog.csdn.net/u012401711/article/details/53525908

  9. scope 作用域(bean 的生存范围)

    默认是 singleton ,单例模式,如下代码: @Test public void testAddUser() throws Exception { ApplicationContext ctx ...

  10. 玩得一手好注入之order by排序篇

    看了之前Gr36_前辈在先知上的议题,其中有提到排序注入,这个在最近经常遇到这样的问题,所以先总结下order by 排序注入的知识. 0×00 背景 看了之前Gr36_前辈在先知上的议题,其中有提到 ...