通过隐藏option实现select的联动效果


Posted in Javascript onNovember 10, 2009
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Untitled Page</title> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 
<script type="text/javascript" language="javascript"> 
$(function(){ 
//Bind the change event 
$("#dropLang").unbind("change", eDropLangChange).bind("change", eDropLangChange); 
$("#dropFrame").unbind("change", eDropFrameChange).bind("change", eDropFrameChange); 
}); //The change event of language dropdown-list 
var eDropLangChange = function(){ 
//The selected value of the language dropdown-list. 
var selectedValue = $(this).val(); 
//show all options. 
$("#dropFrame").children("span").each(function(){ 
$(this).children().clone().replaceAll($(this)); //use the content of the <span> replace the <span> 
}); 
//Filter the data through selected value of language dropdown-list except <Please Select>. 
//If the option is <Please Select>, it only needs to show all and hide nothing. 
if(parseInt(selectedValue) != 0){ 
//hide the option whose parentid is not equal with selected value of language dropdown-list. 
//The <Please Select> option should not be hidden. 
$("#dropFrame").children("option[parentid!='" + selectedValue + "'][value!='0']").each(function(){ 
$(this).wrap("<span style='display:none'></span>"); //add a <span> around the <option> and hide the <span>. 
}); 
} 
}; 
//The change event of frame dropdown-list. 
var eDropFrameChange = function(){ 
//Find the selected option of frame dropdown-list. set the value of language dropdown-list by selected parentid. 
$("#dropLang").val($(this).children("option:selected").attr("parentid")); 
}; 
</script> 
</head> 
<body> 
<div> 
<select id="dropLang"> 
<option selected="selected" value="0"><Please Select></option> 
<option value="1">Javascript</option> 
<option value="2">Java</option> 
<option value="3">C#</option> 
</select> 
<select id="dropFrame"> 
<option selected="selected" value="0"><Please Select></option> 
<option value="1" parentid="1">JQuery</option> 
<option value="2" parentid="1">Prototype</option> 
<option value="3" parentid="2">Struts</option> 
<option value="4" parentid="2">Spring</option> 
<option value="5" parentid="2">Velocity</option> 
<option value="6" parentid="2">Hibernate</option> 
<option value="7" parentid="3">ASP.NET MVC</option> 
<option value="8" parentid="3">Castle</option> 
</select> 
</div> 
</body> 
</html>

这样,通过上一个下拉框的选择过滤下拉框的内容,基本实现了隐藏<option>的效果,当然,也可以把这种方法利用在下拉框级联选择的功能上,无需Ajax。

该代码在IE6,IE7,Chrome2,Firefox3。5下验证通过。

Javascript 相关文章推荐
根据出生日期自动取得星座的js代码
Jul 20 Javascript
JS获取页面窗口大小的代码解读
Dec 01 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
Feb 07 Javascript
Jquery实现自定义弹窗示例
Mar 12 Javascript
js模拟淘宝网的多级选择菜单实现方法
Aug 18 Javascript
Angular2中select用法之设置默认值与事件详解
May 07 Javascript
React中jquery引用的实现方法
Sep 12 jQuery
使用jQuery动态设置单选框的选中效果
Dec 06 jQuery
详解在网页上通过JS实现文本的语音朗读
Mar 28 Javascript
Vue实现多标签选择器
Nov 28 Javascript
微信小程序实现抖音播放效果的实例代码
Apr 11 Javascript
JavaScript判断数据类型有几种方法及区别介绍
Sep 02 Javascript
Riot.js 快速的JavaScript单元测试框架
Nov 09 #Javascript
asp.net HttpHandler实现图片防盗链
Nov 09 #Javascript
为javascript添加String.Format方法
Aug 11 #Javascript
prototype 中文参数乱码解决方案
Nov 09 #Javascript
jQuery 常见学习网站与参考书
Nov 09 #Javascript
Javascript select下拉框操作常用方法
Nov 09 #Javascript
页面中js执行顺序
Nov 09 #Javascript
You might like
PHP 反射机制实现动态代理的代码
2008/10/22 PHP
php获取网页上所有链接的方法
2015/04/03 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
一个js的tab切换效果代码[代码分离]
2010/04/11 Javascript
精通Javascript系列之数值计算
2011/06/07 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
一个网页标题title的闪动提示效果实现思路
2014/03/22 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
2017/08/16 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
[03:48]显微镜下的DOTA2第四期——TP动作
2014/06/20 DOTA
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
跟老齐学Python之开始真正编程
2014/09/12 Python
Python中的index()方法使用教程
2015/05/18 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
基于Python函数和变量名解析
2019/07/19 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
PurCotton全棉时代官网:100%天然棉花生产的生活护理用品
2016/11/18 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
为什么group by 和order by会使查询变慢
2014/05/16 面试题
《长征》教学反思
2014/04/27 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python