json2select 演示

这里可以下载到 由 Asfman 从搜狐白社会导出原始数据 并由 Noker压缩的全国城市数据

js源码下载 这里 min版下载 这里


/*
 * json2select
 *
 * Copyright (c) 2008 Shawphy (shawphy.com)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/*
 * Create selects from JSON
 * 
 * @example $("#selectt").json2select( json[, dft[, name[, deep]]] );
 * @desc 在#selectt中通过d创建一组关联的select
 *
 * @param 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:"北海道的某个地方"
 *   					}
 *   				]
 *   			}
 *   		]
 *   	}
 *   ];
 * @param dft,	可选,	数组,设置默认值,如["中国","云南","大理"]
 * @param name,字符串,默认值:sel,用于设置select的name的前缀
 * @param deep,整形数字,默认值:0,用于设置初始的深度,如设置为0,
 *				则第一个select的name属性就是sel0,第二个就是sel1,接着sel2,sel3,sel4以此排下去。
 * @return 调用它的对象
 * @type jQuery对象
 *
 * 举例:
 * $("#selectt").json2select(json,["中国","云南","大理"]);
 */