如果它没有任何元素,我想隐藏应用了 selected-select 类的选择,除非它不起作用。
我试过了
$("#Category2").hide();
然后在隐藏尝试之前删除选择的选择类:
$("#Category2").remove("chosen-select");
$("#Category2").hide();
但这两种方法都行不通。如果我不这样做:
$(".chosen-select").chosen();
然后选择将隐藏。 Chrome 开发者工具控制台中也没有错误。
这是一个已知问题吗?这样做有什么“技巧”吗?
最佳答案
Chosen 创建附加元素 - 尝试 $("#Category2_chosen").hide();
。
查看它的工作情况:http://jsfiddle.net/lhoeppner/9UB23/
编辑进一步说明:
尝试使用浏览器的开发工具来检查 DOM 元素(通常右键单击该元素,然后单击“检查元素”或类似工具)。
您将看到,一旦您在 DOM 元素上调用 $(element).chosen()
,就会发生以下情况:
- 原始元素被隐藏(它仍位于 DOM 中,但具有
style="display: none;"
) - 所选的下拉小部件是使用许多其他 DOM 元素创建的,这些元素全部分组到
chosen-container
类的 div 中,以及从元素的 id 派生的 id(在在本例中添加“_chosen”)
下划线没有任何特殊含义,它只是选择创建另一个唯一 ID 的方式。它可以只是附加“-chosen”或“_mycustomsuffix”。
关于javascript - jQuery 选择-选择防止隐藏选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082854/