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 相关文章推荐
jQuery 1.2.x 升? 1.3.x 注意事项
May 06 Javascript
COM中获取JavaScript数组大小的代码
Nov 22 Javascript
JS控制输入框内字符串长度
May 21 Javascript
node.js中的fs.writeFileSync方法使用说明
Dec 14 Javascript
浅谈$(document)和$(window)的区别
Jul 15 Javascript
JavaScript中循环遍历Array与Map的方法小结
Mar 12 Javascript
canvas实现动态小球重叠效果
Feb 06 Javascript
详解使用vuex进行菜单管理
Dec 21 Javascript
如何在JavaScript中优雅的提取循环内数据详解
Mar 04 Javascript
Vue仿微信app页面跳转动画效果
Aug 21 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
Sep 02 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 jQuery
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
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
js中cookie的使用详细分析
2008/05/28 Javascript
js判断变量是否空值的代码
2008/10/26 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
python 布尔操作实现代码
2013/03/23 Python
Python中的类与对象之描述符详解
2015/03/27 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
Django实现网页分页功能
2019/10/31 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
婴儿地球:Baby Earth
2018/12/25 全球购物
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
大学毕业后的十年规划
2014/01/07 职场文书
大学毕业感言
2014/01/10 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
委托代理人授权委托书范本
2014/09/24 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
MySQL中连接查询和子查询的问题
2021/09/04 MySQL