jquery实现省市联动的是老话题了,网上搜下一大堆,百花齐放,本文搜集几个,比较之余,等到使用之时也方便借鉴,我会注明原作者的出处的。
1. 直接将省市县内容做成json对象,写入js文件的,优点:兼容性,简单易用;缺点:存到数据库里面的是文本,对数据的再次查询效率低下。 可以改良一下,在数据库里面也存一套数据,但是务必请保持数据一致。
本段代码来自http://shouwang.blog.51cto.com/1186550/268190。
代码中原作者将直辖市里面的区和县分开了,读者亦可自行简化合并一下即可,修改还是比较方便的。代码中有一个bug,默认第一项省份选择了北京,但是后面的市县里面并没有load数据,使用时请稍加修改。
另一位作者的文章,彦磊基于jQuery省市县联动插件,也是使用此方法,由于作者的注释加的已经非常详细了,此处不再赘述,读者根据自己喜欢来选择喜欢的风格吧。
2. 将数据存入数据库,通过服务器端查询,使用jquery进行动态加载。这种方法的优点是很好的保持了数据的一致性;缺点也很明显,每次都要到服务器端查询,比较消耗网络资源和服务器的cpu。使用这种方式需谨慎。
3. 将数据存入xml中,使用jquery的ajax方法,将数据异步加载到客户端,然后进行处理。服务器端将xml数据和数据库里面的数据结合使用。这是一种折中的办法,客户端的效率几乎可以达到与第一种方式时的同等效率,通过程序查询时几乎可以达到与第二种方式时的同等效率。
HTML代码:
XML数据(部分)
此部分xml数据较老,请到国家统计局下载最新数据