htmlselect值隐藏功能在IE中不起作用

时间:2011-04-20 07:21:38

标签: jquery

HI Guys,

我试图隐藏我的html选择中的值。它在Firefox中的工作正常,不是IE。

令人不安的线下面。请建议

var searchAttributeEnum =
{
                    ProductID: 1,
                    PublisherProductID: 2,
                    Artist: 3,
                    Title: 4,
                    Publisher: 5,
                    ProductType: 6
};

$(this).parents('div.cloneRow').find(".js-CellSecond option[value='" + searchOptionsEnum.StartsWith + "']").hide();

HTML

<div class="cloneRow">
<div class="col">
<uc1:Dropdown ID="searchKey" CssClasses="js-CellFirst" runat="server" />
</div>
<div class="col">
<uc1:Dropdown ID="searchType" CssClasses="js-CellSecond" runat="server" />
</div>
<div class="col">
<input type="text" value="" class="searchText js-CellThree" name="searchInput" />
<uc1:Dropdown ID="searchPublisherType" CssClasses="js-CellThreePublisher" runat="server" />
<uc1:Dropdown ID="searchProductType" CssClasses="js-CellThreeProductType" runat="server" />
</div>
</div>

由于

3 个答案:

答案 0 :(得分:1)

这个问题太久了。
结论:IE无法隐藏选择中的个别选项。 (我认为Opera也不确定)

可能的解决方案:完全删除选项,但将所有选项保留在隐藏的第二个选择(或数组)中,以便稍后重新添加。

答案 1 :(得分:0)

马克

Hiding options is not cross-browser compatible.

您可以在这里找到答案

答案 2 :(得分:0)

每次元素列表更改时,您都应该从头开始重新构建 select 。这听起来很糟糕,但速度很快(即使在MSIE下)。

(然后你必须处理这个问题:当实际的一个被删除时,哪个元素将是新的选择?当它再次出现时(并且用户没有选择另一个) ,你怎么能设法重新出现选择重新出现的项?)