text: /*
  Ajax 三级省市联动
  日期：2012-7-18
  
  settings 参数说明
  -----
  url:省市数据josn文件路径
  prov:默认省份
  city:默认城市
  dist:默认地区（县）
  nodata:无数据状态
  required:必选项
  ------------------------------ */
  (function($){
  	$.fn.citySelect=function(settings){
  		if(this.length<1){return;};
  
  		// 默认值
  		settings=$.extend({
  			url:"../js/city.min.js",
  			prov:null,
  			city:null,
  			dist:null,
  			nodata:null,
  			required:true
  		},settings);
  
  		var box_obj=this;
  		var prov_obj=box_obj.find(".prov");
  		var city_obj=box_obj.find(".city");
  		var dist_obj=box_obj.find(".dist");
  		var prov_val=settings.prov;
  		var city_val=settings.city;
  		var dist_val=settings.dist;
  		var select_prehtml=(settings.required) ? "" : "<option value=''>请选择</option>";
  		var city_json;
  
  		// 赋值市级函数
  		var cityStart=function(){
  			var prov_id=prov_obj.get(0).selectedIndex;
  			if(!settings.required){
  				prov_id--;
  			};
  			city_obj.empty().attr("disabled",true);
  			dist_obj.empty().attr("disabled",true);
  
  			if(prov_id<0||typeof(city_json.citylist[prov_id].c)=="undefined"){
  				if(settings.nodata=="none"){
  					city_obj.css("display","none");
  					dist_obj.css("display","none");
  				}else if(settings.nodata=="hidden"){
  					city_obj.css("visibility","hidden");
  					dist_obj.css("visibility","hidden");
  				};
  				return;
  			};
  			
  			// 遍历赋值市级下拉列表
  			temp_html=select_prehtml;
  			$.each(city_json.citylist[prov_id].c,function(i,city){
  				temp_html+="<option value='"+city.n+"'>"+city.n+"</option>";
  			});
  			city_obj.html(temp_html).attr("disabled",false).css({"display":"","visibility":""});
  			distStart();
  		};
  
  		// 赋值地区（县）函数
  		var distStart=function(){
  			var prov_id=prov_obj.get(0).selectedIndex;
  			var city_id=city_obj.get(0).selectedIndex;
  			if(!settings.required){
  				prov_id--;
  				city_id--;
  			};
  			dist_obj.empty().attr("disabled",true);
  
  			if(prov_id<0||city_id<0||typeof(city_json.citylist[prov_id].c[city_id].a)=="undefined"){
  				if(settings.nodata=="none"){
  					dist_obj.css("display","none");
  				}else if(settings.nodata=="hidden"){
  					dist_obj.css("visibility","hidden");
  				};
  				return;
  			};
  			
  			// 遍历赋值市级下拉列表
  			temp_html=select_prehtml;
  			$.each(city_json.citylist[prov_id].c[city_id].a,function(i,dist){
  				temp_html+="<option value='"+dist.s+"'>"+dist.s+"</option>";
  			});
  			dist_obj.html(temp_html).attr("disabled",false).css({"display":"","visibility":""});
  		};
  
  		var init=function(){
  			// 遍历赋值省份下拉列表
  			temp_html=select_prehtml;
  			$.each(city_json.citylist,function(i,prov){
  				temp_html+="<option value='"+prov.p+"'>"+prov.p+"</option>";
  			});
  			prov_obj.html(temp_html);
  
  			// 若有传入省份与市级的值，则选中。（setTimeout为兼容IE6而设置）
  			setTimeout(function(){
  				if(settings.prov!=null){
  					prov_obj.val(settings.prov);
  					cityStart();
  					setTimeout(function(){
  						if(settings.city!=null){
  							city_obj.val(settings.city);
  							distStart();
  							setTimeout(function(){
  								if(settings.dist!=null){
  									dist_obj.val(settings.dist);
  								};
  							},1);
  						};
  					},1);
  				};
  			},1);
  
  			// 选择省份时发生事件
  			prov_obj.bind("change",function(){
  				cityStart();
  			});
  
  			// 选择市级时发生事件
  			city_obj.bind("change",function(){
  				distStart();
  			});
  		};
  
  		// 设置省市json数据
  		if(typeof(settings.url)=="string"){
  			$.getJSON(settings.url,function(json){
  				city_json=json;
  				init();
  			});
  		}else{
  			city_json=settings.url;
  			init();
  		};
  	};
  })(jQuery);