通过隐藏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 相关文章推荐
xtree.js 代码
Mar 13 Javascript
javascript 函数调用规则
Aug 26 Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 Javascript
jQuery客户端分页实例代码
Nov 18 Javascript
JavaScript表单通过正则表达式验证电话号码
Mar 14 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
Jul 21 Javascript
继续学习javascript闭包
Dec 03 Javascript
浅谈Javascript数组(推荐)
May 17 Javascript
node+experss实现爬取电影天堂爬虫
Nov 20 Javascript
Angularjs中数据绑定的实例详解
Aug 25 Javascript
wx-charts 微信小程序图表插件的具体使用
Aug 18 Javascript
详解Vue3.0 + TypeScript + Vite初体验
Feb 22 Vue.js
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/08/27 PHP
中英文字符串翻转函数
2008/12/09 PHP
PHP 递归效率分析
2009/11/24 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
php批量修改表结构实例
2017/05/24 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
js 加载并解析XML字符串的代码
2009/12/13 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
2012/03/01 Javascript
jquery动态添加option示例
2013/12/30 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
Python做简单的字符串匹配详解
2017/03/21 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
写好求职信第一句话的技巧
2013/10/26 职场文书
运动会解说词200字
2014/02/06 职场文书
老同学聚会感言
2014/02/23 职场文书
关于孝道的演讲稿
2014/05/21 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL