jq简单城市二级联动实现
<!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简单城市二级联动实现的更多相关文章
- js实现城市二级联动列表
这个是一个同事写的,我看着有用,就cv下来了. 程序功能主要逻辑是: 1.当一级标签市显示默认状态 '-请选择-'时,二级标签要隐藏 2.一级标签选中城市时,二级标签显示在页面,并列出响应市区 3.当 ...
- jq实现简单的二级联动下拉框
1 效果图 2 html <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- 利用JS实现一个简单的二级联动菜单
前几天在看js的相关内容,所以就简单写了一个二级联动菜单.分享一下. <!DOCTYPE html> <html lang="en"> <head&g ...
- asp.net mvc jQuery 城市二级联动
页面效果图: 数据库表结构: 首先在数据库中创建省级.城市的表,我的表如下:我用了一张表放下了省级.城市的数据,用level划分省份和城市,parentId表示该城市所在省份的id 主要文件有:ind ...
- 通同select便签实现简单的二级联动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Ajax实现的城市二级联动二
上一篇联动一种只是城市用ajax请求获取并渲染,这里将省份也用ajax请求并渲染 1.HTML <select id="province"> <option> ...
- Ajax实现的城市二级联动一
前一篇是把省份和城市都写在JS里,这里把城市放在PHP里,通过发送Ajax请求城市数据渲染到页面. 1.html <select id="province"> < ...
- jquery $.post() 向php传值 实现简单的二级联动
更多内容推荐微信公众号,欢迎关注: 1 其中selectid是一个下拉菜单的id $().ready(function () { $("#selectid").change(fun ...
- jQuery学习(六)——使用JQ完成省市二级联动
1.JQ的遍历操作 方式一: 1 $(function(){ //全选/全不选 $("#checkallbox").click(function(){ var isChecked= ...
随机推荐
- WPF查找子控件和父控件方法
一.查找某种类型的子控件,并返回一个List集合 public List<T> GetChildObjects<T>(DependencyObject obj, Type ty ...
- 不要忘记最后那个 default 分支
不要忘记最后那个 default 分支. 即使程序真的不需要 default 处理, 也应该保留语句 default : break; 这样做并非多此一举,而是为了防止别人误以 为你忘了 defaul ...
- 介绍Unity中相机的投影矩阵与剪切图像、投影概念
这篇作为上一篇的补充介绍,主要讲Unity里面的投影矩阵的问题: 上篇的链接写给VR手游开发小白的教程:(三)UnityVR插件CardboardSDKForUnity解析(二) 关于Unity中的C ...
- 在 SharePoint 2010 打开网页出错时,显示实际的错误信息
每次打开错误页面时,SharePoint出错显示的都是友好信息“发生意外错误”,而且友好到您基本上无法明白到底出什么错,怎么办? 修改Web.config文件配置就可以了,就可以显示更详细的信息: 1 ...
- ubuntu-15.04-desktop-amd64.iso:ubuntu-15.04-desktop-amd64:安装Oracle11gR2
ubuntu 桌面版的安装不介绍. 如何安装oracle:核心步骤和关键点. ln -sf /bin/bash /bin/sh ln -sf /usr/bin/basename /bin/basena ...
- win7 自带计算机(for programmer)
打开win7的Accessories, 看到Calculator, 点击打开计算器. 可以看到32位的2进制代码:
- 如何快捷地使用ChemBio 3D检查结构信息
ChemBio 3D是一款三维分子结构演示软件,能够轻松快捷地进行化学结构的制作和立体旋转.ChemBio 3D Ultra 14作为ChemBio 3D的最新版本可以更加快捷地制作化学结构.本教程将 ...
- 腾讯QQ空间超分辨率技术TSR
腾讯QQ空间超分辨率技术TSR:为用户节省3/4流量,处理效果和速度超谷歌RAISR 雷锋网AI科技评论: 随着移动端屏幕分辨率越来越高,甚至像iPhone更有所谓的“视网膜屏”,人们对高清图片的诉求 ...
- python编码问题1
爬虫,新手很容易遇到编码解码方面的问题.在这里总结下. 如果处理不好编码解码的问题,爬虫轻则显示乱码,重则报错UnicodeDecodeError: 'xxxxxx' codec can't deco ...
- LazyValue<T>
public void ExtendFuncT() { //():匿名无参方法.() =>方法名,指派匿名无参方法去执行另外一个方法. LazyValue<int> lazyOne ...