使用jquery的ajax方式从服务器加载json数据至客户端即可以实现省市级联的效果。 具体如下: 1)、页面初始化时,首先加载所有的省; 2)、选择省,ajax传送编码至服务器,服务器根据选中的省编码,返回省下所有的市。 这样就能动态实现了省市级联的效果了。
做过省市县三级联动的,就是并排三个下拉列表,选择省级,则市县2级数据清空并重新加载数据,选择市级,则县级数据清空并重新加载数据,最后的县级则是实际要保存的数据。 数据使用的是国家标准行政区划代码,保存为一个数据库表中,我的数据涵盖全国所有行政区划(到区县一级),大约3000多条,如下所示:110000 北京市110100 市辖区110101 东城区220000 吉林省220100 长春市220101 市辖区220102 南关区 格式为[aabbcc],其中bbcc都为0则为省级aa下的各市,cc为0则为市级aabb下的区县。 使用jquery的ajax方式从服务器加载json数据,每次加载把省市县三级的数据都加载进来。 当选择了省级,ajax传送编码aa0000,返回数据中的省级数据始终列出各省数据;市级数据列出aabb00;县级为空是因为还没有选择市级; 当选择了市级,ajax传送编码aabb00,返回数据中的省级数据始终列出各省数据;市级数据列出aabb00;县级列出aabbcc; 当选择了县级,就不用传送ajax了,那就是我们想要的数据。 这思路是本人项目中实际使用的,效果很好,每次ajax从服务器读取的数据量很小因此响应很快。另外的思路是一次性把行政区划数据都传送到客户端,在客户端通过jquery解析处理,这也是我曾经考虑过的方法,处理要简单的多,纯数据要50k多,以数组格式大约需要60k的数据量,json格式估计100k以内,局域网肯定没有问题,以目前的网速也可以用在互联网上,但多少还是要影响性能的。