я хочу циклично выполниться через все, выпадают, выбирает с определенным именем класса, и добавьте объект к нему, и я просто борюсь с корректным селектором
Править: Я должен делать что-то не так как большинство 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();
}
});
});
Чтобы ответить на ваш новый вопрос, вы можете использовать следующую строку, чтобы удалить все <Опция>
, содержащий CurrentComponentname
:
$('select.componentSelect option:contains("' + currentComponentName + '")').remove();
Вам необходимо использовать селектор .Classname
, подобный этому:
$('select.className')
Этот селектор сочетает в себе элемент селектор (совпадение всех Выберите>
Элементы) С помощью селектора классов знакомства (сопоставление всех элементов, которые содержат класс класса
), чтобы найти все элементы элементов
с таким классом.
Ваш продушенный код jQuery работает для меня, пока я определяю CurrentComponentname
, чтобы быть одним из вариантов вашего выбора. Ответ Aron Rotteveel очень близок, но часть добавления немного выключена, попробуйте это:
$('select.componentSelect').each(function() {
$(this).append('<option value="foo">Bar</option>');
});
Сделайте снимок:
$('select.className').each(function() {
var currentSelect = $(this);
// ... do your thing ;-)
});
Вы должны использовать селектор .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 .