通过隐藏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 控制图片大小核心讲解
Oct 09 Javascript
JavaScript使用encodeURI()和decodeURI()获取字符串值的方法
Aug 04 Javascript
js强制把网址设为默认首页
Sep 29 Javascript
JS实现网页上随滚动条滚动的层效果代码
Nov 04 Javascript
js轮盘抽奖实例分析
Apr 17 Javascript
js两种拼接字符串的简单方法(必看)
Sep 02 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
Apr 24 Javascript
vue页面使用阿里oss上传功能的实例(二)
Aug 09 Javascript
关于vue-router的beforeEach无限循环的问题解决
Sep 09 Javascript
如何通过shell脚本自动生成vue文件详解
Sep 10 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
Aug 19 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
Oct 27 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检测mysql表是否存在的方法小结
2017/07/20 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
JS得到当前时间的方法示例
2017/03/24 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
Python中使用gzip模块压缩文件的简单教程
2015/04/08 Python
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
python删除字符串中指定字符的方法
2018/08/13 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
雪山饭庄的创业计划书范文
2014/01/18 职场文书
店长职务说明书
2014/02/04 职场文书
科级干部考察材料
2014/02/15 职场文书
项目建议书模板
2014/05/12 职场文书
品酒会策划方案
2014/05/26 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
个人工作总结范文2014
2014/11/07 职场文书
mysql sql常用语句大全
2022/06/21 MySQL