<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(); })

最新文章

  1. Java线程操作方法
  2. 界面排版-TableLayout的stretchColumns方法
  3. Activiti系列: 如何添加自定义表单引擎
  4. org.hibernate.PropertyValueException: not-null property references a null or transient value:
  5. Python之配置文件模块 ConfigParser
  6. ASP函数大全
  7. 230. Kth Smallest Element in a BST ——迭代本质:a=xx1 while some_condition: a=xx2
  8. mysql初学
  9. 【阿里云产品公测】ACE安装wordpress博客图文教程
  10. 【转】Java 内部类种类及使用解析
  11. java_web学习(2)Servlet
  12. gradle根据不同渠道设置不同的开屏启动页
  13. form转化json
  14. java json字符串与对象转换
  15. hdu1573-X问题-(扩展欧几里得定理+中国剩余定理)
  16. mssql借助链接服务器进行数据快速迁移
  17. php连接mysql...mysqli和mysql
  18. 51nod1482
  19. UGUI双击事件
  20. Classifier

热门文章

  1. (转)Centos7.2 给grub菜单做加密
  2. Nginx 配置跨域权限
  3. (转)Unity 之 UGUI 小总结
  4. 从零开始写C# MVC框架之--- 配置log4日志
  5. git打补丁、还原补丁
  6. 亲测,很有效的忽略SSL证书方法
  7. 前端给div加滚动条样式修改
  8. CSS中关于linebox的baseline位置移动的理解
  9. SVNKit学习——使用High-Level API管理Working Copy示例(六)
  10. &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;理解