Селектор jquery, чтобы получить все выпадающие списки с выбранным значением - PullRequest
16 голосов
/ 01 марта 2011

Как выбрать все поля выбора с помощью селектора jQuery, где выбрано значение «А1»?

Пример окна выбора:

<select name="accesslevel">
<option value="A1">A1 Access</option>
<option value="A2">A2 Access</option>
</select>

Мне нужно использовать селектор, чтобы сделатьследующая вещь:

.parent().nextAll('td[id^="A1Access"]').show();
.parent().nextAll('td[id^="A2Access"]').hide();

Может кто-нибудь помочь?

Ответы [ 6 ]

42 голосов
/ 02 мая 2013

Как упоминалось ранее, решение Пракаша является наиболее близким, но оно выбирает значение параметра, а не само поле выбора. Это можно исправить с помощью селектора: has.

$('select:has(option[value="A1"]:selected)')
20 голосов
/ 01 марта 2011

Попробуйте:

$('select option[value="A1"]:selected')
3 голосов
/ 01 марта 2011
$('select').filter(
function(){   
   if($(this).val()=="A1")
        return true;
    else
        return false;
}
)

Вы можете добавить свою функцию после этого, как

$('select').filter(
function(){   
   if($(this).val()=="A1")
        return true;
    else
        return false;
}
).parent().nextAll('td[id^="A1Access"]').show();
2 голосов
/ 01 марта 2011

Вот что-то вроде твоей оригинальной спецификации, но только немного изменено для работы с моими селекторами.

$('.container').find('option[value=A1]').filter(':selected').parent('select').show();

А вот это упрощенно:

$('option[value=A1]:selected').parent('select');
0 голосов
/ 18 августа 2013

Создайте такой идентификатор.

<select name="accesslevel" id="myselector">
<option value="A1">A1 Access</option>
<option value="A2">A2 Access</option>
</select>

Теперь выберите его с этим идентификатором.

$("select#myselector option:selected").each(function () 
{
     alert($(this).text() + " ");
});
0 голосов
/ 01 марта 2011

Для простого выбора опции во всем теле html

alert($('option[value=A1]').html());

Для select

alert($('select[name=accesslevel]').find('option[value=A1]').html());

Но оповещение будет работать только с одним элементом.

Для выбора у вас есть

$('option[value=A1]').parent().remove(); 

Он выберет родителя и удалит его.

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