js实现的下拉框二级联动效果


Posted in Javascript onApril 30, 2016

本文实例讲述了js实现的下拉框二级联动效果。分享给大家供大家参考,具体如下:

<script language="JavaScript" type="text/javascript">
<!--
/*
 * 说明:将指定下拉列表的选项值清空
 * 转自:Gdong Elvis ( http://www.gdcool.net )
 *
 * @param {String || Object]} selectObj 目标下拉选框的名称或对象,必须
 */
 function removeOptions(selectObj)
 {
 if (typeof selectObj != 'object')
 {
 selectObj = document.getElementById(selectObj);
 }
 // 原有选项计数
 var len = selectObj.options.length;
 for (var i=0; i < len; i++) {
 // 移除当前选项
 selectObj.options[0] = null;
 }
 }
 /*
 * @param {String || Object]} selectObj 目标下拉选框的名称或对象,必须
 * @param {Array} optionList 选项值设置 格式:[{txt:'北京', val:'010'}, {txt:'上海', val:'020'}] ,必须
 * @param {String} firstOption 第一个选项值,如:“请选择”,可选,值为空
 * @param {String} selected 默认选中值,可选
 */
 function setSelectOption(selectObj, optionList, firstOption, selected) {
 if (typeof selectObj != 'object')
 {
 selectObj = document.getElementById(selectObj);
 }
 // 清空选项
 removeOptions(selectObj);
 // 选项计数
 var start = 0;
 // 如果需要添加第一个选项
 if (firstOption) {
 selectObj.options[0] = new Option(firstOption, '');
 // 选项计数从 1 开始
 start ++;
 }
 var len = optionList.length;
 for (var i=0; i < len; i++) {
 // 设置 option
 selectObj.options[start] = new Option(optionList[i].txt, optionList[i].val);
 // 选中项
 if(selected == optionList[i].val)  {
 selectObj.options[start].selected = true;
 }
 // 计数加 1
 start ++;
 }
 }
 //-->
</script>
<script language="JavaScript" type="text/javascript">
var cityArr = [];
cityArr['江苏省'] =
[
 {txt:'南京', val:'南京'},
 {txt:'无锡', val:'无锡'},
 {txt:'徐州', val:'徐州'},
 {txt:'苏州', val:'苏州'},
 {txt:'南通', val:'南通'},
 {txt:'淮阴', val:'淮阴'},
 {txt:'扬州', val:'扬州'},
 {txt:'镇江', val:'镇江'},
 {txt:'常州', val:'常州'}
 ];
cityArr['浙江省'] =
[
 {txt:'杭州', val:'杭州'},
 {txt:'宁波', val:'宁波'},
 {txt:'温州', val:'温州'},
 {txt:'湖州', val:'湖州'}
 ];
function setCity(province)
{
 setSelectOption('city', cityArr[province], '-请选择-');
}
</script>
 <select name="province" id="province" onchange="if(this.value != '') setCity(this.options[this.selectedIndex].value);">
 <option value="">-请选择-</option>
 <option value="江苏省">江苏省</option>
 <option value="浙江省">浙江省</option>
 </select>
 省
 <select name="city" id="city">
 <option value="">-请选择-</option>
 </select>
 市
Javascript 相关文章推荐
使用js的replace()方法查找字符示例代码
Oct 28 Javascript
jquery解析XML字符串和XML文件的方法说明
Feb 21 Javascript
聊一聊JavaScript作用域和作用域链
May 03 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
Jul 12 Javascript
JavaScript实现简单的日历效果
Sep 25 Javascript
Node.js检测端口(port)是否被占用的简单示例
Sep 29 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
Aug 19 Javascript
Vue2.0父子组件传递函数的教程详解
Oct 16 Javascript
ES6与CommonJS中的模块处理的区别
Jun 13 Javascript
JavaScript常用数组操作方法,包含ES6方法
May 10 Javascript
vue-router传递参数的几种方式实例详解
Nov 13 Javascript
js实现精确到秒的日期选择器完整实例
Apr 30 #Javascript
js简单倒计时实现代码
Apr 30 #Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
Apr 29 #Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
Apr 29 #Javascript
jQuery中数据缓存$.data的用法及源码完全解析
Apr 29 #Javascript
浅析Javascript中bind()方法的使用与实现
Apr 29 #Javascript
深入剖析JavaScript中的函数currying柯里化
Apr 29 #Javascript
You might like
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
将php数组输出html表格的方法
2014/02/24 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
实例讲解php数据访问
2016/05/09 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
Angular.JS通过指令操作DOM的方法
2017/05/10 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
解析原来浏览器原生支持JS Base64编码解码
2019/08/12 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
Python获取远程文件大小的函数代码分享
2014/05/13 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
2014年教师节红领巾广播稿
2014/09/10 职场文书
2014大学生批评与自我批评思想汇报
2014/09/21 职场文书
公司庆典欢迎词
2015/01/26 职场文书
少年犯观后感
2015/06/11 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python
python脚本框架webpy模板控制结构
2021/11/20 Python
openstack云计算keystone组件工作介绍
2022/04/20 Servers