JQuery найти какой виден - PullRequest
       5

JQuery найти какой виден

4 голосов
/ 07 апреля 2011
<select id="milesAway">
    <option id="5" value="5">5 miles</option>
    <option id="10" value="10">10 miles</option>
    <option id="25" value="25">25 miles</option>
    <option id="50 value="50">50 miles</option>
    <option id="100" value="100">100 miles</option>
    <option id="250" value="250">250 miles</option>
    <option id="500" value="500">500 miles</option>
</select>
<input type="text" id="zipCode" />
<input type="text" id="cityState" class="cityState" />

Таким образом, в любой момент времени будет показан только один из этих 3 доступных входов. Все они контролируются .show() и .hide()

Я использую JQuery, чтобы выяснить, какой из них показан, и получить его идентификатор.

Спасибо!

Ответы [ 4 ]

3 голосов
/ 07 апреля 2011

вы можете сделать

$(':input:visible') //This will selects all inputs on the page. You can narrow this down by specifying an ID that wraps the input you are looking or.

Вы также можете проверить, виден ли ввод, выполнив

$('#cityState').is(':visible') 
0 голосов
/ 07 апреля 2011

http://jsfiddle.net/RSGrW/1/

Первое обновление после прочтения комментариев:

var id = $("#milesAway:visible option:selected, #zipCode:visible, #cityState:visible").attr('id');

Поскольку я видел, как вы поместили идентификаторы в опцию, я подумал, что вы хотели бы, чтобы это вернулось. Это альтернатива только для ввода или выбора идентификатора.

var id = $("#milesAway:visible, #zipCode:visible, #cityState:visible").attr('id');
0 голосов
/ 07 апреля 2011

Вот, пожалуйста,

$('select:not(:visible)');

Я бы предложил добавить класс к каждому из элементов, чтобы легко их выбрать:

$('.toggleInputs:not(:visible)');
0 голосов
/ 07 апреля 2011

$('option:visible');

будет соответствовать всем элементам опций, которые не скрыты, под скрытым я подразумеваю отображение: нет, я не думаю, что видимость: скрытый счет!вам придется дважды проверить это в документации по jQuery в разделе «Селекторы»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...