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 无提示关闭浏览器页面的代码
Mar 09 Javascript
用JavaScript对JSON进行模式匹配(Part 1-设计)
Jul 17 Javascript
Web开发者必备的12款超赞jQuery插件
Dec 03 Javascript
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
Sep 20 Javascript
jquery ajax局部加载方法详解(实现代码)
May 12 Javascript
基于Vue.js实现tab滑块效果
Jul 23 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
Dec 26 Javascript
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
vue完成项目后,打包成静态文件的方法
Sep 03 Javascript
vue组件从开发到发布的实现步骤
Nov 11 Javascript
Vue-input框checkbox强制刷新问题
Apr 18 Javascript
关于JS中的作用域中的问题思考分享
Apr 06 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实现微信公众平台账号自定义菜单类
2014/12/02 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
2016/12/02 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
深入理解React高阶组件
2017/09/28 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
JS实现简易留言板增删功能
2020/02/08 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
python各种语言间时间的转化实现代码
2016/03/23 Python
Python之父谈Python的未来形式
2016/07/01 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
Python远程方法调用实现过程解析
2020/07/28 Python
Python如何解除一个装饰器
2020/08/07 Python
Python Merge函数原理及用法解析
2020/09/16 Python
用C语言实现文件读写操作
2013/10/27 面试题
校园门卫岗位职责
2013/12/09 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
联谊会主持词
2014/03/26 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
2015年教研员工作总结
2015/05/26 职场文书
经营场所使用证明
2015/06/19 职场文书
Python中的 Set 与 dict
2022/03/13 Python