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 相关文章推荐
javascript 流畅动画实现原理
Sep 08 Javascript
javascript类继承机制的原理分析
Sep 12 Javascript
javascript多种数据类型表格排序代码分析
Sep 11 Javascript
深入分析js中的constructor和prototype
Apr 07 Javascript
form表单只提交数据而不进行页面跳转的解决方案
Sep 18 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
Jul 17 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
Nov 26 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
Aug 08 Javascript
JavaScript实现简单的日历效果
Sep 25 Javascript
react开发中如何使用require.ensure加载es6风格的组件
May 09 Javascript
详解基于vue-cli配置移动端自适应
Jan 13 Javascript
vue自定义组件实现双向绑定
Jan 13 Vue.js
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
自动分页的不完整解决方案
2007/01/12 PHP
PHP 裁剪图片成固定大小代码方法
2009/09/09 PHP
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
PHP多例模式介绍
2013/06/24 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
jQuery实现跨域
2015/02/03 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
简单的Python抓taobao图片爬虫
2014/10/26 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
python和c语言哪个更适合初学者
2020/06/22 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
python实现简单贪吃蛇游戏
2020/09/29 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
python实现经典排序算法的示例代码
2021/02/07 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
办公室前台的岗位职责
2013/12/20 职场文书
职业女性的职业规划
2014/03/04 职场文书
经济贸易专业自荐信
2014/06/11 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python