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 匿名函数及其代码模式原理
Mar 19 Javascript
读jQuery之八 包装事件对象
Jun 21 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
Jun 29 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
Dec 16 Javascript
js实现图片轮播效果
Dec 19 Javascript
Bootstrap按钮组件详解
Apr 26 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
Jul 22 Javascript
JS简单获取当前年月日星期的方法示例
Feb 07 Javascript
微信小程序左滑删除效果的实现代码
Feb 20 Javascript
详解Vue webapp项目通过HBulider打包原生APP
Jun 29 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
Oct 29 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
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
php中显示数组与对象的实现代码
2011/04/18 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
2014/07/04 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
zend framework重定向方法小结
2016/05/28 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
ECMAScript 基础知识
2007/06/29 Javascript
js cookies 常见网页木马挂马代码 24小时只加载一次
2009/04/13 Javascript
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
js获取url中指定参数值的示例代码
2013/12/14 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
js时间查询插件使用详解
2017/04/07 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
2017/09/21 jQuery
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
Python利用matplotlib生成图片背景及图例透明的效果
2017/04/27 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
Python3 assert断言实现原理解析
2020/03/02 Python
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
物业品质提升方案
2014/06/08 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2014年管理工作总结
2014/11/22 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
php引用传递
2021/04/01 PHP
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
Nginx反向代理学习实例教程
2021/10/24 Servers
Python循环之while无限迭代
2022/04/30 Python