email: shaoyun (at) yeah.net
date: 2010-03-10 02:03
blog: http://shaoyun.cnblogs.com/
用jquery实现,原始代码只支持ie,这里我改了一下,我的代码里面有三个版本的实现
第一个是通过读取xml构建,支持ie/firefox,chrome不支持,有兴趣的可以将读取xml的部分改成ajax的方式,这样chrome支持就不成问题
第二个是采用json数据格式构建,是我的第二次尝试改进
第三个与第二个其实是一样的,只不过将数据分离到js文件中,我的代码中有一个asp文件,是调用数据库生成json省市区数据的,如果页面直接调用asp文件,速度会很慢,生成js文件后直接调用就要快的多,而且这部分数据一般不会改动
更新记录:
++2010-04-19 12:11:24
多加了一个插件的例子,其实不算插件,就是一函数,为什么不写成插件,只是基于灵活性的考虑,
让select可以放在页面的任何位置,而不是局限在div、table、td等页面元素内
参数类似下面,s1/s2/s3配置select的id,v1/v2/v3为默认值,如果不想设置请设置为null,或者直接不设置
参数配置如下,配置select的三个id和默认值就行,无默认值填写为null
复制代码 代码如下:
var defaults = {
s1:'select1',
s2:'select2',
s3:'select3',
v1:null,
v2:null,
v3:null
};
这算是第四个例子,目录下的php文件是服务端数据的生成demo,用作使用的参考
数据格式定义类似如下:
复制代码 代码如下:
var threeselectdata={
省份:{val:,items:{城市:{val:,items:{区县:}}}},
beijing:{val:01,items:{
bj-01:{val:0101,items:{
bj-01-01:010101
}},
bj-02:{val:0102,items:{
bj-02-01:010201,
bj-02-02:010202
}}
}},
shanxi:{val:02,items:{}},
guangzhou:{val:02,items:{}}
};
代码例子:
复制代码 代码如下:
文字没有详细整理!懂点js的就能看懂!
代码打包下载
