通过隐藏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 相关文章推荐
可以将word转成html的js代码
Apr 11 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
Aug 09 Javascript
jquery新的绑定事件机制on方法的使用方法
Apr 15 Javascript
js实现多选项切换导航菜单的方法
Feb 06 Javascript
究竟什么是Node.js?Node.js有什么好处?
May 29 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
Aug 22 Javascript
JavaScript仿支付宝密码输入框
Dec 29 Javascript
JavaScript数组方法总结分析
May 06 Javascript
Vue.JS入门教程之处理表单
Dec 01 Javascript
JavaScript中各数制转换全面总结
Aug 21 Javascript
AngularJS自定义过滤器用法经典实例总结
May 17 Javascript
es6 filter() 数组过滤方法总结
Apr 03 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 zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
php启用zlib压缩文件的配置方法
2013/06/12 PHP
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
php实现的debug log日志操作类实例
2016/07/12 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
jQuery.Callbacks()回调函数队列用法详解
2016/06/14 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
销售员求职个人的自我评价
2014/02/19 职场文书
电子银行营销方案
2014/02/22 职场文书
2014年工程工作总结
2014/11/25 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
英文道歉信
2015/01/20 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android