js 省地市级联选择


Posted in Javascript onFebruary 07, 2010

demo1为最简单的一份实现,页面id配置需在js文件中写入,适合简单情况
demo2增加了动态配置,可将配置项传入,适合页面存在多个级联下拉
以下为地市数据json格式,可使用ajax获取或者做成ashx/asmx服务也可直接保存为js文件,可根据你的地市数据调整格式,并修改对应源码

var _ds_data=[ 
{ 
id:0, 
name:"\u5317\u4EAC", 
city:[ 
{ 
id:1, 
name:"\u5317\u4EAC\u5E02", 
area:[{id:1,name:"\u4E1C\u57CE\u533A"},{...},{...}...] 
},...] 
}

为防止乱码,使用了unicode编码,转换代码如下:
/// <summary> 
/// 将原始字串转换为unicode,格式为\u....\u.... 
/// </summary> 
public static string StringToUnicode(string srcText) 
{ 
string dst = ""; 
char[] src = srcText.ToCharArray(); 
for (int i = 0; i < src.Length; i++) 
{ 
byte[] bytes = Encoding.Unicode.GetBytes(src[i].ToString()); 
string str = @"\u" + bytes[1].ToString("X2") + bytes[0].ToString("X2"); 
dst += str; 
} 
return dst; 
} 
/// <summary> 
/// 将Unicode字串\u....\u....格式字串转换为原始字符串 
/// </summary> 
public static string UnicodeToString(string srcText) 
{ 
string dst = ""; 
string src = srcText; 
int len = srcText.Length / 6; 
for (int i = 0; i <= len - 1; i++) 
{ 
string str = ""; 
str = src.Substring(0, 6).Substring(2); 
src = src.Substring(6); 
byte[] bytes = new byte[2]; 
bytes[1] = byte.Parse(int.Parse(str.Substring(0, 2), NumberStyles.HexNumber).ToString()); 
bytes[0] = byte.Parse(int.Parse(str.Substring(2, 2), NumberStyles.HexNumber).ToString()); 
dst += Encoding.Unicode.GetString(bytes); 
} 
return dst; 
}

http://xiazai.3water.com/201002/yuanma/cityselector.rar
打包下载地址
Javascript 相关文章推荐
javascript与CSS复习(二)
Jun 29 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
May 26 Javascript
JavaScript中实现最高效的数组乱序方法
Oct 11 Javascript
ionic组件ion-tabs选项卡切换效果实例
Aug 27 Javascript
Jquery删除css属性的简单方法
Dec 04 Javascript
JavaScript 函数的定义-调用、注意事项
Apr 16 Javascript
纯js实现隔行变色效果
Nov 29 Javascript
微信小程序实现之手势锁功能实例代码
Jul 19 Javascript
Vuex的实战使用详解
Oct 31 Javascript
Vue 打包体积优化方案小结
May 20 Javascript
vue Element左侧无限级菜单实现
Jun 10 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
Jul 22 Javascript
js 自定义的联动下拉框
Feb 07 #Javascript
比较搞笑的js陷阱题
Feb 07 #Javascript
javascript 鼠标拖动图标技术
Feb 07 #Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
Feb 07 #Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
Feb 07 #Javascript
JavaScript 精粹读书笔记(1,2)
Feb 07 #Javascript
一些mootools的学习资源
Feb 07 #Javascript
You might like
ThinkPHP的Widget扩展实例
2014/06/19 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
PHP获取指定日期是星期几的实现方法
2016/11/30 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
jquery自动完成插件(autocomplete)应用之PHP版
2009/12/15 Javascript
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
js实现弹窗效果
2020/08/09 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
Python getopt模块处理命令行选项实例
2014/05/13 Python
举例讲解Python程序与系统shell交互的方式
2015/04/09 Python
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
2020/06/14 Python
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
C/C++程序员常见面试题一
2012/12/08 面试题
演讲稿怎么写才完美
2014/01/02 职场文书
庆七一活动总结
2014/08/27 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
2015年重阳节主持词
2015/07/04 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
python通配符之glob模块的使用详解
2021/04/24 Python
python中使用redis用法详解
2022/12/24 Redis