js城市联动选择器
<html>
<head>
<META charset="utf8">
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script>
(function($) {
$.fn.areaSelInit = function() {
return $(this).html("<option>请选择</option>");
};
$.area = function(data,sel) {
/** 初始化 **/
$("#province").areaSelInit();
$("#city").areaSelInit();
$("#county").areaSelInit();
/** 选中特定值 **/
$.each(data, function(p,x) {
var s1 = '';
if(undefined!=sel){
s1 = (p==sel[0]) ? 'selected' : '';
}
$("#province").append("<option "+s1+">" + p + "</option>"); // 省
if(undefined!=sel){
if ($("#province option:selected").text()==p) {
$.each(x,function(c,cx){
var s2 = '';
s2 = (c==sel[1]) ? 'selected' : '';
$("#city").append("<option "+s2+">" + c + "</option>"); // 市
if ($("#city option:selected").text()==c) {
$.each(cx.split(","),function(){
var s3 = '';
s3 = (this==sel[2]) ? 'selected' : '';
$("#county").append("<option "+s3+">" + this + "</option>"); // 区
});
}
});
}
}
});
/** onchange事件 **/
$("#province").change(function() {
$("#city").areaSelInit();
$("#county").areaSelInit();
$.each(data, function(p, x) {
if ($("#province option:selected").text() == p) {
$.each(x, function(c, cx) {
$("#city").append("<option>" + c + "</option>"); // 市
});
$("#city").bind("change", function() {
$("#county").areaSelInit();
$.each(x, function(c, cx) {
if ($("#city option:selected").text() == c) {
$.each(cx.split(","), function() {
$("#county").append("<option>" + this + "</option>"); // 区
});
}
});
});
}
});
});
};
})(jQuery);
$(function() {
var data = {北京: {北京: "东城,西城,海淀,宣武,丰台"
},
江苏: {南京: "江宁,六合,下关,浦口",
无锡: "北塘,滨湖,江阴,宜兴"
},
广东: {广州: "越秀区,东山区,海珠区,荔湾区,天河区,白云区,黄埔区,芳村区,番禺区,花都区,增城市,从化市",
揭阳: "榕城区,揭东县,揭西县,普宁市"
}
};
var sel = ['广东','揭阳']; // 或: var sel = [];
$.area(data,sel);
});
</script>
</head>
<body>
<select id="province"><option>请选择</option></select>
<select id="city"><option>请选择</option></select>
<select id="county"><option>请选择</option></select>
</body>
</html>
;
js城市联动选择器的更多相关文章
- 全国三级城市联动 js版
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS中简单的二级城市联动
代码奉上: <!DOCTYPE html><html><head> <meta charset="UTF-8"> < ...
- [js开源组件开发]js手机联动选择日期 开源git
js手机联动选择日期 这里在前面的<js手机联动选择地区>的基础上,改造数据源之后形成的一个日期的选择器,当然你可以使用之前的PC上模式的<日期控件>,它同时也支持手机端,ht ...
- [JS]以下是JS省市联动菜单代码
以下是JS省市联动菜单代码: 代码一: <html> <head> <title></title> <script language=" ...
- JQUERY省、市、县城市联动选择
JQUERY 插件开发——CITYLINKAGE(省.市.县城市联动选择) 第一部分:背景 开发源于需求,本次城市联动选择插件算是我写插件的一个特例吧,不是我目前工作需要些的,算是兴趣驱使吧.之前 ...
- JS省市区联动效果
省市区联动下拉效果在WEB中应用非常广泛,尤其在电商网站最为常见.一般使用Ajax实现无刷新下拉联动.利用jQuery,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果. 首先我们可以看 ...
- js 多级联动(省、市、区)
js 多级联动(省.市.区) CreateTime--2018年4月9日17:10:38 Author:Marydon 方式一: 数据从数据库获取,ajax实现局部刷新 方式二: 数据从json文 ...
- Jquery 插件开发——citylinkage(省、市、县城市联动选择)
第一部分:背景 开发源于需求,本次城市联动选择插件算是我写插件的一个特例吧,不是我目前工作需要些的,算是兴趣驱使吧.之前呢,一直想写这个插件,然后错过了一个写这个插件的机会(这个得回顾到很久以前了. ...
- 省市区js三级联动(原创)
看了一些网上的js三级联动,但感觉不是缺这,就是少那,决定亲自操刀写了一个,现记录如下,以备后用! <!DOCTYPE html> <html> <head> &l ...
随机推荐
- HTML5 Canvas 奔跑的小狗
效果如上图,共六个图像切换,形成小狗动态奔跑效果.完整代码和图片请从 https://files.cnblogs.com/files/xiandedanteng/runningDog.rar 下载. ...
- 从程序员到asp.net架构师转变[转]
微软的DotNet开发绝对是属于那种入门容易提高难的技术.而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的.特别是在大型软件项目中,架构师是项目核心成员,承上启下,因此 RU ...
- Android控件常见属性
1.宽/高android:layout_width android:layout_height// 取值match_parent //匹配父控件wrap_content //自适应,根据内容 如果指定 ...
- ionic准备之angular基础——$watch,$apply,$timeout方法(5)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- SecureCRT如何调整好看的黄色
1.常规 →默认会话→编辑默认编辑→白黑 字体为console 2.全局选项 ANSI颜色有一个 把黄色 拖过去即可
- Javascript中的回调函数和匿名函数的回调
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Mybatis 批量插入数据
--mybatis 批量插入数据 --1.Oracle(需要测试下是否支持MySQL) < insert id ="insertBatch" parameterType=&q ...
- Ffmpeg 探测输入源类型
本文主要记录ffmpeg探测输入源的几个点,方便以后查阅代码.虽然项目时间很赶,还是找个时间做个记录, 好记性不如不如备忘录,时间久了终是会忘记.Ffmpeg版本为4.0.2,版本很重要,Ffmpeg ...
- C# 中 finally 的用法
当一个异常抛出时,它会改变程序的执行流程.因此不能保证一个语句结束后,它后面的语句一定会执行,在 C# 中这个问题可以用 finally 解决. 为了确保一个语句总是能执行(不管是否抛出异常),需要将 ...
- vbox克隆虚拟机,网卡启动报错“Device eth0 does not seem to be present”
vbox克隆虚拟机,网卡启动报错"Device eth0 does not seem to be present". 须要看以下三个地方:确保文件名称,设备名.mac地址都一致. ...