通过隐藏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 相关文章推荐
Javascript - HTML的request类
Jan 09 Javascript
javascript 密码强弱度检测万能插件
Feb 25 Javascript
仿百度的关键词匹配搜索示例
Sep 25 Javascript
js 使FORM表单的所有元素不可编辑的示例代码
Oct 17 Javascript
jQuery实现带有洗牌效果的动画分页实例
Aug 31 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
Jan 08 Javascript
jQuery操作动态生成的内容的方法
May 28 Javascript
Jquery组件easyUi实现表单验证示例
Aug 23 Javascript
JavaScript设置名字输入不合法的实现方法
May 23 Javascript
Node.js开发第三方微信公众平台
Jun 05 Javascript
ECMAscript 变量作用域总结概括
Aug 18 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
Dec 19 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 上传文件大小限制
2009/07/05 PHP
利用PHP实现短域名互转
2013/07/05 PHP
php魔术变量用法实例详解
2014/11/13 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
URL地址中的#符号使用说明
2011/02/12 Javascript
最简单的js图片切换效果实现代码
2011/09/24 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
nodejs读取并去重excel文件
2018/04/22 NodeJs
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
Python数组条件过滤filter函数使用示例
2014/07/22 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
python如何获取服务器硬件信息
2017/05/11 Python
python列表生成式与列表生成器的使用
2018/02/23 Python
Django框架模板的使用方法示例
2019/05/25 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
高分子材料与工程专业个人求职信
2013/12/15 职场文书
《小儿垂钓》教学反思
2014/02/23 职场文书
2014年团工作总结
2014/11/27 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server