Что должен получить корректный селектор jQuery, весь выбор выпадает с определенным именем класса?

я хочу циклично выполниться через все, выпадают, выбирает с определенным именем класса, и добавьте объект к нему, и я просто борюсь с корректным селектором


Править: Я должен делать что-то не так как большинство upvoted, принятый ответ, кажется, не работает так, я думаю, что в моем коде должна быть некоторая причуда. Я вставил и HTML и код jQuery ниже. сообщите мне, имеет ли это смысл.


HTML:

<select onfocus="this.enteredText='';" onkeydown="return handleKey();" onkeyup="event.cancelbubble=true;return false;" onkeypress = "return selectItem();"  class="componentSelect"  id="components0" name="applicationUpdater.dependencies[0].componentName" >
<option value= 5 >Client</option>
<option value= 79 >Server</option>
</select>

 <select onfocus="this.enteredText='';" onkeydown="return handleKey();" onkeyup="event.cancelbubble=true;return false;" onkeypress = "return selectItem();"  class="componentSelect"  id="components1" name="applicationUpdater.dependencies[0].componentName" >
<option value= 5 >Client</option>
<option value= 79 >Server</option>
</select>

и т.д..

код jQuery:

    $('select.componentSelect').each(function() {
        var select = $(this);
        $(select).children('option').each(function() {
            if ($(this).text() == currentComponentName) {
                $(this).remove();
            }
        });

    });
9
задан Jim Ferrans 14 January 2010 в 15:26
поделиться

5 ответов

Чтобы ответить на ваш новый вопрос, вы можете использовать следующую строку, чтобы удалить все <Опция> , содержащий CurrentComponentname :

$('select.componentSelect option:contains("' + currentComponentName + '")').remove();

DEMO

7
ответ дан 4 December 2019 в 08:52
поделиться
-

Вам необходимо использовать селектор .Classname , подобный этому:

$('select.className')

Этот селектор сочетает в себе элемент селектор (совпадение всех Выберите> Элементы) С помощью селектора классов знакомства (сопоставление всех элементов, которые содержат класс класса ), чтобы найти все элементы элементов с таким классом.

1
ответ дан 4 December 2019 в 08:52
поделиться
-

Ваш продушенный код jQuery работает для меня, пока я определяю CurrentComponentname , чтобы быть одним из вариантов вашего выбора. Ответ Aron Rotteveel очень близок, но часть добавления немного выключена, попробуйте это:

$('select.componentSelect').each(function() { 
    $(this).append('<option value="foo">Bar</option>'); 
}); 
1
ответ дан 4 December 2019 в 08:52
поделиться

Сделайте снимок:

$('select.className').each(function() {
   var currentSelect = $(this);
   // ... do your thing ;-)
});
3
ответ дан 4 December 2019 в 08:52
поделиться

Вы должны использовать селектор .Class .

// select every <select> element with classname "yourclassname"
$('select.yourclassname').each(function() {
    // $(this) now refers to one specific <select> element
    // we append an option to it, like you asked for
    $(this).append(
        $('<option value="foo">Bar</option>');
    );
});

Для получения дополнительной информации о том, как правильно выбирать элементы с jQuery, посмотрите на http://docs.jquery.com/selectors .

12
ответ дан 4 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: