Я вижу несколько примеров удаления элемента из раскрывающегося списка выбора по значению элементов (например, this question), но есть ли способ удалить элемент из раскрывающегося списка выбора, если все, что я знаю, является отображаемым текстом?есть решение jquery для удаления элемента из выпадающего списка по отображению текста
ответ
Попробуйте это:
$("#Select>option:contains(yourtext)").remove();
Испытано локально, и она работает. Точный фрагмент кода отношение ко мне было:
<select id="FundManager1" class="FundManagerSelect">
<option>Fund Manager 1</option>
<option>Fund Manager 2</option>
<option>Fund Manager 3</option>
</select>
Тогда JQuery:
$(document).ready(function(){
alert($("#FundManager1>option").length); //alerts '3'
$("#FundManager1>option:contains(1)").remove();
alert($("#FundManager1>option").length); //alerts '2'
});
Вы всегда можете поставить его в функцию:
function RemoveOption(SelectId, TextVal) {
$("#" + SelectId + ">option:contains(" + TextVal + ")").remove();
}
RemoveOption("FundManager1", "1");
Дальнейшее редактирование для класса Selector Вопрос:
Для селектора классов замените '#' с символом '.' как и следовало ожидать:
$(".YourSelectClass>option:contains(yourtext)").remove();
И как это просто выбор, вы можете ускорить его путем объединения с селектором элемента:
$("select.YourSelectClass>option:contains(yourtext)").remove();
Я полагаю, вы могли бы перебрать их:
$('select option').each(function()
{
if ($(this).text() == 'something')
{
$(this).remove();
}
});
Редактировать: Ответ Джеймса Висмена более краткий, но это может быть проще, если у опции есть неудобные символы, которые в противном случае мешали бы синтаксис селектора.
+1 - Согласен. Тем не менее я не воспользовался слишком многими из них :-) –
есть ли способ сделать это как селектор классов, поэтому он применяется к нескольким выборкам с одним набором кода? – leora
Довольно уверен, что вам нужны цитаты вокруг вашего текста: '' ваш текст ', если только 'yourtext' не является переменной, о которой вы, вероятно, должны прояснить. –
@ Dominic Rodger. Нет, он работает так, как есть. Пробовал и с местами. –
есть все равно, чтобы это сделать как селектор классов, поэтому я могу удалить элемент из нескольких выборок сразу? – leora