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").parent().hide();

работает для меня.

Спасибо Арматус!

Сразу хочу сказать, что для меня это сработало:

$('#ddlReport').next('.ui-selectmenu').hide();

Без класса.ui-selectmenu-button, которого нет в HTML.

Это решение!

$("#yourSelectId").parent().hide();

перенос с использованием div или принудительное использование классов кнопок, безусловно, более сложный.

Другие вопросы по тегам