通过隐藏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 相关文章推荐
jquery 表单取值常用代码
Dec 22 Javascript
JS Excel读取和写入操作(模板操作)实现代码
Apr 11 Javascript
jquery 图片轮换效果
Jul 29 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
Aug 24 Javascript
js 上下左右键控制焦点(示例代码)
Dec 14 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
May 18 Javascript
jQuery插件zTree实现删除树节点的方法示例
Mar 08 Javascript
JS实现520 表白简单代码
May 21 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
Aug 28 Javascript
JS简单数组排序操作示例【sort方法】
May 17 Javascript
npm全局环境变量配置详解
Dec 15 Javascript
小程序实现列表倒计时功能
Jan 29 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
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
地震发生中逃生十大法则
2008/05/12 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
简单实现jQuery多选框功能
2017/01/09 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
python实现画出e指数函数的图像
2019/11/21 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
小学毕业感言300字
2014/02/19 职场文书
保安岗位职责
2014/02/21 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL
mysql函数之截取字符串的实现
2022/08/14 MySQL