基于json的jquery地区联动探索
2014-01-08 16:05
477 查看
贴一个基于jquery联动的代码,相信这样的代码有一大把,就当是jquery的练手吧, 写这个东西的初衷是来之于新浪微博,在新浪微博帐号设置里面有个地区的选项,使用js写的,想把它的代码给截获下来,可是失望的是它的js代码压缩了,不过看到的里面json类型格式设计的挺好的,一般我们后台未做任何处理的json数据格式类似以下这样子的 [{"Code":3231,"Name":"长春市"}, {"Code":3232,"Name":"吉林市}]
如果有一万个地区,会多出几万个字符,这么奢侈的做法我想我还是放弃了吧, 也是出于这种想法,就写了使用.NET输出此种格式的json,以及写了基于jquery联动的下拉。 主要代码如下:
View Code
地区表大致设计为 AT_Id :唯一标识,json里面对应的code AT_Name : 地区中文名 AT_ParentId :父级id AT_Level:级别,1为省级,2为市级
以上代码仅供参考,代码质量和效率无法得到保证,使用出现的后果自负..
希望能得到大家的宝贵意见和更好的解决方案级方法
如果有一万个地区,会多出几万个字符,这么奢侈的做法我想我还是放弃了吧, 也是出于这种想法,就写了使用.NET输出此种格式的json,以及写了基于jquery联动的下拉。 主要代码如下:
/// <summary> /// 输出json数据 /// </summary> /// <remarks> /// <para>Date:2011-07-01</para> /// <para>Author:太平盛世</para> /// </remarks> /// <returns></returns> public string WriteJson() { //取数据库里面的所有的数据 Ilist<AreaTye> areaList = GetAreaTypeListAll(); //取省级集合,AT_ParentId=1的 //var provNameParentId = from area in areaList where area.AT_ParentId == 1 select area; //所有的数据 var areaLinq = from area in areaList select area; //筛选,筛选出省级集合,筛选调整 AT_ParentId == 0 var areaWhereParentId = areaLinq.Where(m => m.AT_ParentId == 0).ToList(); //省级名称 格式:"湖南省,浙江省,北京市,..." string provName = string.Join(",", areaWhereParentId.Select(m => m.AT_Name).ToArray()); //省级编号 格式:"1,2,3,..." string provCode = string.Join(",", areaWhereParentId.Select(m => m.AT_Id).ToArray()); //省级数量 int num = areaWhereParentId.Count(); var jsonstr = new StringBuilder(); jsonstr.Append("{"); var areaCityList = new List<AreaType>(); for(var i=0;i<num;i++) { var areaType = new AreaType(); areaType = areaWhereParentId[i] ; int id = areaType.AT_Id; areaCityList = areaLinq.Where(m => m.AT_ParentId == id).ToList(); var cityName = string.Join(",", areaCityList.Select(m => m.AT_Name).ToArray()); var cityCode = string.Join(",", areaCityList.Select(m => m.AT_Id).ToArray()); jsonstr.Append("\""); jsonstr.Append("city"); jsonstr.Append(areaType.AT_Id); jsonstr.Append("\""); jsonstr.Append(":"); jsonstr.Append("\""); jsonstr.Append(cityName); jsonstr.Append("\""); jsonstr.Append(","); jsonstr.Append("\""); jsonstr.Append("code"); jsonstr.Append(areaType.AT_Id); jsonstr.Append("\""); jsonstr.Append(":"); jsonstr.Append("\""); jsonstr.Append(cityCode); jsonstr.Append("\""); jsonstr.Append(","); } jsonstr.Append("provinces:"); jsonstr.Append("\""); jsonstr.Append(provName); jsonstr.Append("\""); jsonstr.Append(","); jsonstr.Append("provcodes:"); jsonstr.Append("\""); jsonstr.Append(provCode); jsonstr.Append("\""); jsonstr.Append("}"); return jsonstr.ToString(); }
View Code
地区表大致设计为 AT_Id :唯一标识,json里面对应的code AT_Name : 地区中文名 AT_ParentId :父级id AT_Level:级别,1为省级,2为市级
以上代码仅供参考,代码质量和效率无法得到保证,使用出现的后果自负..
希望能得到大家的宝贵意见和更好的解决方案级方法
相关文章推荐
- 基于json的jquery地区联动效果代码
- 基于json的jquery地区联动效果代码
- 基于json的jquery地区联动
- jQuery基于BootStrap样式实现无限极地区联动
- 基于jquery & json的省市区联动
- 【JS】【基于JSON、JQuery的省级联动】
- jquery利用json实现地区联动效果代码
- 基于jquery & json的省市区联动代码
- 黄聪:基于jQuery+JSON的省市区三级地区联动
- jquery.cityselect.js基于jQuery+JSON的省市-自定义联动效果
- jquery.cityselect.js基于jQuery+JSON的省市或自定义联动效果
- 基于jquery & json的省市区联动代码
- 基于jQuery+JSON的省市联动效果
- 省市区三级联动[JSON+Jquery]
- 基于Jquery+Ajax+Json+高效分页【转】
- 基于jQuery的AJAX和JSON的实例
- 基于jquery实现省市区三级联动效果
- 基于Jquery+Ajax+Json实现分页显示
- jquery+ajax+php+json三级联动
- 基于jQuery的AJAX和JSON实现纯html数据模板