2012-02-03 21 views
0

我想用jquery隐藏一些<options>标签,但它似乎并不工作。试图隐藏jQuery的一些选项标签不起作用IE,Safari和Opera

  • 我想隐藏所有具有rel属性的选项。

  • 只显示rel='3'

此代码的选项适用于FF和Chrome。无法使用IE,Safari和Opera。

这里是我的jsfiddle:

http://jsfiddle.net/RnfqW/4/

这里是标记和脚本:

<select name="myselect" id="myselect" > 
    <option value=''></option> 
    <option rel='1' value='1A'>1A</option> 
    <option rel='1' value='1B'>1B</option> 
    <option rel='2' value='2A'>2A</option> 
    <option rel='2' value='2B'>2B</option> 
    <option rel='2' value='2C'>2C</option> 
    <option rel='3' value='3A'>3A</option> 
    <option rel='3' value='3B'>3B</option> 
    <option rel='3' value='3C'>3C</option> 
    <option rel='3' value='3D'>3D</option> 
</select> 

脚本:

$("#myselect [rel]").hide(); // hide all options 
$("#myselect [rel=3]").show(); // hide whow only rel=3 options 
+0

的可能重复[删除作品,但不能掩盖?](http://stackoverflow.com/questions/3309787/remove-works-but-not-hide) – 2012-02-03 13:12:29

+0

请参阅以下[问题](http://stackoverflow.com/questions/2324250/style-display-none-doesnt-work-on-option-tags-in-chrome-but-it-does-in-firefo) 。它解决了。 – Oybek 2012-02-03 13:17:19

+1

移除的问题是您无法重新创建它。 – 2012-02-03 13:22:04

回答

1

您CA不隐藏或显示选项。你必须做的是克隆你不想要的选择和删除选项标签。

编辑:这样的事情http://jsfiddle.net/RnfqW/5/

0

看看这个代码,并对其进行自定义。我希望这将是有益的......

$(function(){ 
    $.fn.extend({ 
     slidingSelect: function(options) 
     { 
      var select= $(this); 
      var selector=select.selector; 
      var selectedValue="";//=select.val(); 

      var divToggle=$("<div>"+selectedValue+"select Complaint<span style='float:right;'>&#x25BC;</span></div>").attr({id:select.attr("id")+"Toggle"}).click(function(){ 
       $(selector).slideToggle(); 
      }).insertBefore(select); 

      select.attr("size",6); 
      select.change(function(){ 
       divToggle.html(select.val()+"<span style='float:right;'>&#x25BC;</span>"); 
       $(selector).slideToggle(); 
      }); 

     }  
    }); 
    $("#complaint").hide().slidingSelect(); 

}); 
相关问题