jQuery selected select防止隐藏select

jQuery chosen-select prevent hiding of select

本文关键字:select 隐藏 jQuery selected      更新时间:2023-09-26

如果select除了不起作用之外没有任何元素,我想隐藏一个应用了所选select类的select。

我试过

   $("#Category2").hide();

然后在隐藏尝试之前删除所选的选择类:

 $("#Category2").remove("chosen-select");
$("#Category2").hide();

但这两种方法都不起作用。如果我不这样做:

$(".chosen-select").chosen();

则选择将隐藏。Chrome Developer工具控制台中也没有错误。

这是一个已知的问题吗?这样做有"诀窍"吗?

Chosen会创建其他元素-请尝试$("#Category2_chosen").hide();。看到它工作:http://jsfiddle.net/lhoeppner/9UB23/

编辑以获得进一步解释:

尝试使用浏览器的开发工具来检查DOM元素(通常右键单击元素,然后单击"检查元素"或类似的内容)。

您将看到,一旦在DOM元素上调用$(element).chosen(),就会发生以下情况:

  1. 原始元素被隐藏(它仍将在DOM中,但具有style="display: none;"
  2. 所选的下拉窗口小部件是使用许多其他DOM元素创建的,这些元素都分组为类chosen-container的div和从元素的id派生的id(在本例中,通过在其上附加"_chosen")

下划线没有任何特殊含义,它只是selected创建另一个唯一id的方式。它可以附加"-selected"或"_mycustomsuffix"。

$("select#chosen-select").hide()

应该做到这一点。