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中eval处理JSON数据要加括号
Apr 13 Javascript
javascript检测移动设备横竖屏
May 21 Javascript
基于JS模仿windows文件按名称排序效果
Jun 29 Javascript
js在ie下打开对话窗口的方法小结
Oct 24 Javascript
jQuery实现字符串全部替换的方法【推荐】
Mar 09 Javascript
Javascript数组方法reduce的妙用之处分享
Jun 10 Javascript
ElementUI 修改默认样式的几种办法(小结)
Jul 29 Javascript
如何在 ant 的table中实现图片的渲染操作
Oct 28 Javascript
vue element-ui中table合计指定列求和实例
Nov 02 Javascript
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
Jan 05 Vue.js
基于vuex实现购物车功能
Jan 10 Vue.js
canvas实现贪食蛇的实践
Feb 15 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
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
php处理复杂xml数据示例
2016/07/11 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
2019/08/27 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
JS event使用方法详解
2008/04/28 Javascript
Js基础学习资料
2010/11/23 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
浅谈React高阶组件
2018/03/28 Javascript
javascript关于“时间”的一次探索
2019/07/24 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
node+vue实现文件上传功能
2020/05/28 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
Web服务器框架 Tornado简介
2014/07/16 Python
python 显示数组全部元素的方法
2018/04/19 Python
python2与python3共存问题的解决方法
2018/09/18 Python
python随机数分布random均匀分布实例
2019/11/27 Python
如何定义TensorFlow输入节点
2020/01/23 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
成人继续教育实施方案
2014/03/01 职场文书
支教个人总结
2015/03/04 职场文书
2015年语言文字工作总结
2015/07/23 职场文书