作家
登录

通过隐藏option实现select的联动效果

作者: 来源:www.28hudong.com 2013-03-30 02:09:19 阅读 我要评论

复制代码 代码如下: <!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下验证通过。

  推荐阅读

  文字在网页上下浮动 学习可以不建议用

上下跳动的文本 脚本之家 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]>>>详细阅读


本文标题:通过隐藏option实现select的联动效果

地址:http://www.17bianji.com/kaifa2/JS/27708.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)