因群员强烈要求,闲了没事,写了这个demo,代码粗糙
原理:隐藏所有省市县select控件,在加载时候初始化省的option,显示市的 select控件 添加市的 change 事件,当触发市的 change 事件时候初始化 市的option ,显示县的 select控件,当然了每次需要清空option 不然叠加显示。其中json遍历有些烦选择正确的json格式(1.javascirpt数组json,2.javascirpt对象json)遍历方便一些。
demo所用技术:struts2,jquery-ajax,jsonf
附件为源码(测试通过,测试地址:http://localhost:8080/Demo/):
原创,转载请加个人连接:http://demojava.iteye.com/blog/1402516
$(document).ready(function() { $('#demo2').hide(); $('#demo3').hide(); $('#demo4').hide(); $('#demo1').click(function() { $.ajax({ type: "POST", url: "/Demo/myns/demo1.action", dataType : "json", // 指定返回类型 data: {}, // 传递到后台的参数 success: function(data) { var selector=$('#demo2'); selector.empty(); $.each(data, function(index,values){ // 解析出data对应的Object数组 $.each(values,function(index2,value){ // 遍历Object数组 ,每个对象的值存放在value ,index2表示为第几个对象 //alert(value.id + " " + value.city); selector.append('<option value="'+value.id+'">'+value.city+'</option>'); }); }); $('#demo2').show(); }, error : function() { alert("系统出现问题"); } }); $('#demo2').change(function(){ var param=$(this).children('option:selected').val(); if($("#demo3").is(":visible")) { $('#demo4').empty(); $('#demo4').hide(); } $.ajax({ type: "POST", url: "/Demo/myns/demo2.action", dataType : "json", // 指定返回类型 data: {demo2:param}, // 传递到后台的参数 success: function(data) { var selector=$('#demo3'); selector.empty(); $.each(data, function(index,values){ // 解析出data对应的Object数组 $.each(values,function(index2,value){ // 遍历Object数组 ,每个对象的值存放在value ,index2表示为第几个对象 //alert(value.id + " " + value.city); selector.append('<option value="'+value.id+'">'+value.city+'</option>'); }); }); $('#demo3').show(); }, error : function() { alert("系统出现问题"); } }); }); $('#demo3').change(function(){ var param=$(this).children('option:selected').val(); $.ajax({ type: "POST", url: "/Demo/myns/demo3.action", dataType : "json", // 指定返回类型 data: {demo3:param}, // 传递到后台的参数 success: function(data) { var selector=$('#demo4'); selector.empty(); $.each(data, function(index,values){ // 解析出data对应的Object数组 $.each(values,function(index2,value){ // 遍历Object数组 ,每个对象的值存放在value ,index2表示为第几个对象 //alert(value.id + " " + value.city); selector.append('<option value="'+value.id+'">'+value.city+'</option>'); }); }); $('#demo4').show(); }, error : function() { alert("系统出现问题"); } }); }); }); });
<input id="demo1" type="button" name="Submit" value="加载"> <select id="demo2" ></select> <select id="demo3" ></select> <select id="demo4" ></select>
相关推荐
“ajax,struts2,json实现省市区三级联动源码含全国省市区数据库”这一标题揭示了这个压缩包包含的是一项使用AJAX、Struts2和JSON技术来实现的省市区三级联动功能的源代码。这项技术常用于web应用中,允许用户在选择...
在这个“SSH+JQuery+MySQL级联操作(省市县级联)”的案例中,我们将深入探讨如何利用这些技术实现一个省市县三级联动的效果。 首先,让我们了解什么是级联操作。级联操作通常指的是在一个选择发生变化时,相关的...
在IT领域,尤其是在Web开发中,省市区级联是一个常见的需求,它用于创建一个下拉菜单,用户可以按顺序选择省份、城市和区县,从而实现地理位置的选择。本项目名为"最简单的省市区级联(带数据库)",提供了一个简单...
同样地,再选择一个市级之后,页面能够加载并显示该市下属的所有县级选项。 为了实现这一功能,首先需要一个MySQL数据库,其中包含了三个字段:id、name和parentid。id字段唯一标识一条记录,name字段存放省市县的...
本案例通过使用DWR实现了省市县三级联动的功能,涉及到了多个技术栈的集成应用,包括Spring、DWR、Hibernate和Struts等。通过对DWR配置、业务逻辑实现以及前后端交互过程的详细说明,展示了如何有效地利用DWR来简化...