jQuery скрыть selectMenu?
Я использую selectMenu в jQuery для тега select, подобного этому.
$('#ddlReport').selectmenu()
в некоторых случаях я хочу это скрыть и не могу понять как.
это не работает:
$('#ddlReport').selectmenu().hide();
и это не делает
$('#ddlReport').hide();
кто-нибудь?
6 ответов
Глядя на демо здесь и здесь, кажется, что selectmenu работает, добавив
<span class="ui-selectmenu-button">
or (probably different selectmenu versions?)
<a ... class="ui-selectmenu ...">
после оригинального выбора, содержащего искусственный выбор.
Вы можете попробовать получить доступ к этому с помощью
$('#ddlReport').next('.ui-selectmenu .ui-selectmenu-button').hide();
Хотя, похоже, он может использовать другие классы (вместо -button
). Это также своего рода хакерский обходной путь, и я уверен, что плагин содержит какой-то способ, предназначенный, чтобы дать вам доступ к недавно добавленному меню.
Редактировать: просматривая код во второй демонстрации, не кажется, что есть какой-то заранее запрограммированный способ получить доступ к новому выбору по крайней мере в этой версии.
Потеряв несколько часов, пытаюсь понять это. Я наконец завернул вещь в <div>
и просто показать / спрятать на div. Конечно, далеко не элегантный, но он держит меня подальше от мобильных телефонов JQ.
В более новых версиях jQueryUI (я работаю с версией 1.11.4) просто используйте атрибут "widget":
$("#element").selectmenu( "widget" ).hide();
Спасибо Арматус!
Сразу хочу сказать, что для меня это сработало:
$('#ddlReport').next('.ui-selectmenu').hide();
Без класса.ui-selectmenu-button, которого нет в HTML.
Это решение!
$("#yourSelectId").parent().hide();
перенос с использованием div или принудительное использование классов кнопок, безусловно, более сложный.