js 省地市级联选择

 更新时间:2010年02月07日 12:49:06   作者:  
3级省地市级联菜单,ie/ff 测试通过,支持多个并存,支持事件
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.jb51.net/201002/yuanma/cityselector.rar
打包下载地址

相关文章

  • 封装一个vue中也可使用的uniapp的全局弹窗组件(任何页面都可以弹出)

    封装一个vue中也可使用的uniapp的全局弹窗组件(任何页面都可以弹出)

    在写uniapp小程序的时候,弹窗提醒经常会用到,虽然弹窗的组件很多,但是通常别人封装好的弹窗组件自定义度不高,很难匹配自己的ui需求,这篇文章主要给大家介绍了封装一个vue中也可使用的uniapp的全局弹窗组件的相关资料,这个组件在任何页面都可以弹出,需要的朋友可以参考下
    2023-02-02
  • js如何获取对象在数组中的index

    js如何获取对象在数组中的index

    这篇文章主要介绍了js如何获取对象在数组中的index,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • javascript在firefox下设为首页的代码

    javascript在firefox下设为首页的代码

    javascript在firefox下设为首页的代码...
    2007-09-09
  • js实现圆盘记速表

    js实现圆盘记速表

    本文分享了一个利用AmCharts制作的汽车速度计速表,通过设置不同的速度(数字)来动态改变计速表的指针。使用也非常简单,下面给出方法。
    2015-08-08
  • js函数使用技巧之 setTimeout(function(){},0)

    js函数使用技巧之 setTimeout(function(){},0)

    setTimeout的作用是将函数推迟第二参数设定的毫秒数后再执行,如果是0,就意味着浏览器要马上执行该函数,但是浏览器解析到setTimeout,虽然会"立刻"执行
    2009-02-02
  • JavaScript代码实现图片循环滚动效果

    JavaScript代码实现图片循环滚动效果

    这篇文章主要介绍了JavaScript代码实现图片循环滚动效果的相关资料,非常不错,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • jQuery中选择查找自定义属性具有特定值的所有元素

    jQuery中选择查找自定义属性具有特定值的所有元素

    同样在HTML5可以通过data-自定义属性名来给元素添加自定义的属性名。一旦添加完成之后。通过JS可以获取以及设置自定义属性。这篇文章主要介绍了jQuery中选择查找自定义属性具有特定值的所有元素
    2023-02-02
  • JS中使用cavas截图网页并解决跨域及模糊问题

    JS中使用cavas截图网页并解决跨域及模糊问题

    这篇文章主要介绍了JS中使用cavas截取网页并解决跨域以及模糊问题 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • Javascript实现检测客户端类型代码封包

    Javascript实现检测客户端类型代码封包

    在以前,总是以为使用用户代理字符串检测浏览器是那种类型就行了,这样确实大错特错啊,下面就来说说如何通过js判断出当前浏览者使用的的设备类型呢
    2015-12-12
  • JS实现最简单的冒泡排序算法

    JS实现最简单的冒泡排序算法

    这篇文章主要介绍了JS实现最简单的冒泡排序算法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02

最新评论