У меня есть страница с примерно 10 раскрывающимися списками SELECT. 3 из этих раскрывающихся списков по умолчанию скрыты при загрузке, в зависимости от статуса пользователя.

Теперь, если пользователь делает что-то конкретное, все эти 7 раскрывающихся списков скрыты, и в зависимости от ввода пользователя эти раскрывающиеся списки отображаются.

Я показываю и скрываю эти раскрывающиеся списки с помощью JQuery.

jQuery("select").hide() 
jQuery("select").show()

В настоящее время, когда отображаются раскрывающиеся списки выбора, все варианты выбора видны. Затем мне нужно запустить код, чтобы скрыть 3 по умолчанию.

Я хотел бы, чтобы JQuery скрыл видимые раскрывающиеся списки выбора (7 видимых), а затем показал эти 7 (оставив 3 скрытых по умолчанию скрытыми).

Возможно ли это с помощью JQuery, чтобы он отображал и скрывал только раскрывающиеся списки выбора, где видна видимость стиля? Не совсем уверен?

Большое спасибо

1
Uggers2K 10 Фев 2011 в 01:22

4 ответа

Решение состоит в том, чтобы назначить этим выборам специальный класс и использовать их класс для отображения и скрытия:

$(".mySpecialSelectClass").hide();

$(".mySpecialSelectClass").show();

Вам просто нужно убедиться, что этот класс назначен только этим выборам.

2
Kyle Trauberman 10 Фев 2011 в 05:43

Дайте скрытым по умолчанию класс, например 'default_hidden', и сделайте

jQuery("select").not(".default_hidden").toggle();

Это, игнорируя состояние скрытых по умолчанию, переключит видимость всех остальных, поменяв местами их состояния отображения/скрытия.

1
FatherStorm 10 Фев 2011 в 01:28

Назначьте трем тегам выбора класс, отличный от остальных 7. Теперь, когда вы хотите скрыть или показать их, вы можете сделать выбор, используя класс (в этом примере «defaultHidden»):

$("select.defaultHidden").show();

(например, ваш код будет варьироваться в зависимости от желаемого результата.

1
Kyle Trauberman 10 Фев 2011 в 01:30

Существует видимый селектор jQuery: http://api.jquery.com/visible-selector/

Попробуйте что-нибудь вроде:

jQuery("select:visible") to get the visible ones.

jQuery("select:hidden") to get the hidden ones.
1
Kyle Trauberman 10 Фев 2011 в 01:35
Вот тот вариант, который я хочу. Ваше здоровье
 – 
Uggers2K
10 Фев 2011 в 09:50