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 相关文章推荐
前端轻量级MVC框架CanJS详解
Sep 26 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 Javascript
使用AngularJS来实现HTML页面嵌套的方法
Jun 17 Javascript
js实现的Easy Tabs选项卡用法实例
Sep 06 Javascript
js实现(全选)多选按钮的方法【附实例】
Mar 30 Javascript
基于vue2的table分页组件实现方法
Mar 20 Javascript
如何使用JS在HTML中自定义字符串格式化
Jul 20 Javascript
详解Web使用webpack构建前端项目
Sep 23 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
vue使用keep-alive保持滚动条位置的实现方法
Apr 09 Javascript
javascript利用键盘控制小方块的移动
Apr 20 Javascript
vue2.0 watch里面的 deep和immediate用法说明
Oct 30 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下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php操作csv文件代码实例汇总
2014/09/22 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
js动态创建、删除表格示例代码
2013/08/07 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
javascript实现动态改变层大小的方法
2015/05/14 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
2019/08/17 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
Python中IPYTHON入门实例
2015/05/11 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
python 批量修改/替换数据的实例
2018/07/25 Python
python之线程通过信号pyqtSignal刷新ui的方法
2019/01/11 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
python推导式的使用方法实例
2021/02/28 Python
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
Delphi笔试题
2016/11/14 面试题
销售总监工作职责
2013/11/21 职场文书
房地产销售计划书
2014/01/10 职场文书
销售人员求职信
2014/07/22 职场文书
同学聚会邀请函
2015/01/30 职场文书
工作证明格式范文
2015/06/15 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
社区宣传标语口号
2015/12/26 职场文书