这是我之前为了ThinkSNS写的一个小工具。通过json生成无限联动的select。至少要求jQuery 1.2.3 以上,因为我用了data方法。
查看DEMO 源文件 min版
- //构建如下json,t为列表框的text,v为列表框的value,s表示子一级对象
- var json=[
- {
- t:"欧洲某地",
- v:"欧洲"
- },
- {
- t:"中国某地",
- v:"中国",
- s:[
- {
- t:"上海",
- v:"上海"
- },
- {
- t:"云南某地",
- v:"云南",
- s:[
- {
- t:"大理",
- v:"大理"
- }
- ]
- }
- ]
- },
- {
- t:"日本某地",
- v:"日本",
- s:[
- {
- t:"东京",
- v:"东京"
- },
- {
- t:"北海道",
- v:"北海道",
- s:[
- {
- t:"北海道的某个地方",
- v:"北海道的某个地方"
- }
- ]
- }
- ]
- }
- ];
- //调用即可
- $("#selectt").json2select(json,["中国","云南","大理"]);
另外,如果用1.2.1的也想用的话,可以手动提取1.2.6里的data方法,或者简单用下面的模拟一下即可
- (function($) {
- $.fn.data=function(key,value) {
- return $.data(this[0],key,value);
- }
- })(jQuery);
update:
附: 全国城市数据
并且更新到了 1.0.1版。以前下载的同学可以重新下载一份。