<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>城市二级联动</title>
<style>
#provice, #city {
width: 100px;
height: 30px;
}
select {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="provice">
<select name="" id="provice_select" onchange="selectProvice()">
</select>
</div>
<br>
<div id="city">
<select name="" id="city_select" onchange="selectCity()">
</select>
</div>
<br>
<button id="btn" onclick="submit()">提 交</button> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script>
// 初始化获取数据
var ajaxData = [
{
'provice': '北京市',
'city': ['北京市']
},
{
'provice': '上海市',
'city': ['上海市']
},
{
'provice': '江苏省',
'city': ['南京市', '苏州市', '无锡市', '常州市', '南通市', '泰州市', '扬州市', '盐城市', '镇江市', '宿迁市', '淮安市', '徐州市', '连云港市']
},
{
'provice': '浙江省',
'city': ['杭州市', '建德市', '富阳市', '临安市', '宁波市', '余姚市', '慈溪市', '奉化市', '温州市', '瑞安市', '乐清市', '嘉兴市', '海宁市', '平湖市', '桐乡市', '湖州市', '绍兴市', '诸暨市', '上虞市', '嵊州市', '金华市', '兰溪市', '义乌市', '东阳市', '永康市', '衢州市', '江山市', '舟山市', '台州市', '温岭市', '临海市', '丽水市', '龙泉市']
}
]
// 提交后返回数据
var backData = {
'provice': '江苏省',
'city': '泰州市'
}
var selectedProvice = '', selectedCity = '', strProvice = '', strCity = '', index = 0 // 初始化
// 初始化省份
function getProvice (selectedData) {
// 清空
strProvice = ''
$('#provice_select').empty()
// 渲染
$.each(ajaxData, function(index, el) {
strProvice += '<option value="' + el.provice + '">' + el.provice + '</option>'
});
$('#provice_select').append(strProvice)
index = $('#provice_select option:selected').index()
// 默认选中
if (selectedData) {
$('#provice_select').find('option[value=' + selectedData.provice + ']').attr('selected', true);
}
index = $('#provice_select option:selected').index()
getCity(index, selectedData.city)
} // 初始化城市
function getCity (index, selectedData) {
// 清空
strCity = ''
$('#city_select').empty()
// 渲染
$.each(ajaxData[index].city, function(index, el) {
strCity += '<option value="' + el + '">' + el + '</option>'
});
$('#city_select').append(strCity)
// 默认选中
if (selectedData) {
$('#city_select').find('option[value=' + selectedData + ']').attr('selected', true);
}
} // 选择省份
function selectProvice () {
selectedProvice = $('#provice_select option:selected').val()
index = $('#provice_select option:selected').index()
selectCity()
} // 选择城市
function selectCity () {
selectedCity = $('#city_select option:selected').val()
getCity(index, selectedCity)
} // 提交
function submit () {
selectProvice()
backData.provice = selectedProvice
backData.city = selectedCity
console.log(backData)
} getProvice(backData)
</script>
</body>
</html>

jq简单城市二级联动实现的更多相关文章

  1. js实现城市二级联动列表

    这个是一个同事写的,我看着有用,就cv下来了. 程序功能主要逻辑是: 1.当一级标签市显示默认状态 '-请选择-'时,二级标签要隐藏 2.一级标签选中城市时,二级标签显示在页面,并列出响应市区 3.当 ...

  2. jq实现简单的二级联动下拉框

    1 效果图 2 html <!DOCTYPE html> <html lang="en"> <head>     <meta charse ...

  3. 利用JS实现一个简单的二级联动菜单

    前几天在看js的相关内容,所以就简单写了一个二级联动菜单.分享一下. <!DOCTYPE html> <html lang="en"> <head&g ...

  4. asp.net mvc jQuery 城市二级联动

    页面效果图: 数据库表结构: 首先在数据库中创建省级.城市的表,我的表如下:我用了一张表放下了省级.城市的数据,用level划分省份和城市,parentId表示该城市所在省份的id 主要文件有:ind ...

  5. 通同select便签实现简单的二级联动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Ajax实现的城市二级联动二

    上一篇联动一种只是城市用ajax请求获取并渲染,这里将省份也用ajax请求并渲染 1.HTML <select id="province"> <option> ...

  7. Ajax实现的城市二级联动一

    前一篇是把省份和城市都写在JS里,这里把城市放在PHP里,通过发送Ajax请求城市数据渲染到页面. 1.html <select id="province"> < ...

  8. jquery $.post() 向php传值 实现简单的二级联动

    更多内容推荐微信公众号,欢迎关注: 1 其中selectid是一个下拉菜单的id $().ready(function () { $("#selectid").change(fun ...

  9. jQuery学习(六)——使用JQ完成省市二级联动

    1.JQ的遍历操作 方式一: 1 $(function(){ //全选/全不选 $("#checkallbox").click(function(){ var isChecked= ...

随机推荐

  1. 关于Struts2的action的execute方法

    这个方法必须要有一个String类型的返回值,所以如果写很多if else的话,记得要在最后加一个else,就是无论如何就会放回一个字符串,否则编译会报错,在execute方法名字下面有红线.

  2. 有2个表,结构相似,有一个字段关联,现在怎么把A表的数据添加到B表中,条件是A表不在B表的数据?? 请各位高手多多指点,是oracle的数据库

    : insert into b(col1,col2 )select col1,col2 where not exists(select a.col1 from a where a.col1 = b.c ...

  3. am335x i2c分析

    /***************************************************************************** * am335x i2c分析 * i2c驱 ...

  4. 第三百一十八节,Django框架,信号

    第三百一十八节,Django框架,信号 Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 也就是当程序有指定动作时, ...

  5. mysql的优化:官网地址

    http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#index-merge-optimization

  6. 基于mvcpager的分页(get请求,刷新页面),提供两种样式(来自bootstrap的样式)

    使用方法:先把mvcpager.dll引用加入mvc项目 下载路径在本文末尾 前台代码 前台: @{ Layout = null; } @using Webdiyer.WebControls.Mvc ...

  7. Wex5短信验证

    调了好几天短信验证测试,终于成功,现将全部源代码发给大家,希望对各位有所帮助,少走弯路        Model.prototype.saveUserBtnClick = function(event ...

  8. mysql通过mysqldump工具,对某个库下的表进行备份

    需求描述: 使用mysqldump工具对某个库下的表进行备份的方法. 操作过程: 1.通过mysqldump工具完成此目的 [mysql@redhat6 MysqlDb_Backup]$ mysqld ...

  9. POJ 1273 Drainage Ditches (网络最大流)

    http://poj.org/problem? id=1273 Drainage Ditches Time Limit: 1000MS   Memory Limit: 10000K Total Sub ...

  10. 高级类特性----final关键字

    final 关键字 在Java中声明类.属性和方法时,可使用关键字final来修饰. final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次. final标记的类不能被继承.提高安全性,提 ...