<!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. ROS 教程之 vision : 用各种摄像头获取图像

    可能有很多人想在ROS下学习视觉,先用摄像头获取图像,再用opencv做相应算法处理,可是ROS下图像的采集可不像平常的read一下那么简单,需要借助外部package的使用.而摄像头即可以用笔记本自 ...

  2. Java 构造方法的执行过程(猜测)

    先说明一点,这篇帖子的内容都是我自己思考的结果,如有误,请务必及时告诉我,非常感谢. 起由: public class NewThread implements Runnable{ Thread t; ...

  3. 64位程序,long*转long 出错

    原因: long*在64位程序中占8个字节,long占4个字节.强转会出错. 解决方法: 把long用long long替换,long long 占8个字节

  4. erlang的简单模拟半包的产生

     gen_tcp:linsten()/2使用的是{packet,2/4/8},则gen_tcp模块在接受或者发送时自动除去包头或者自动加上包头. 本例中使用的是{packet,0}. -module( ...

  5. Resharper 安装以及破解

    首先进行软件安装 安装后 解压下载好的 文件 会得到如下: 打开序列号 会看到 然后  复制 %LocalAppData%\\JetBrains 路径 会得到进入当前JetBrains 文件夹 然后搜 ...

  6. C# 基础小知识之yield 关键字

    对于yield关键字我们首先看一下msdn的解释: 如果你在语句中使用 yield 关键字,则意味着它在其中出现的方法.运算符或 get 访问器是迭代器. 通过使用 yield 定义迭代器,可在实现自 ...

  7. 安装php5.5 mssql扩展报错

    ./configure 后,直接make可能会出现libtool: link: `php_mssql.lo' is not a valid libtool object 的错误. make clean ...

  8. js md5类(支持中文)

    国外网站扒的一个js类,这个东西挺难找的,之前找的都是一有中文的加密不正确,这个类解决这个问题了!!! 注:使用的时候,使用 hex_md5 函数 代码如下: /** * Namespace for ...

  9. 【RF库Collections测试】Remove From Dictionary

    Name:Remove From DictionarySource:Collections <test library>Arguments:[ dictionary | *keys ]Re ...

  10. CentOS6.4环境下布署LVS+keepalived笔记

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://400053.blog.51cto.com/390053/713566 环境: 1 ...