Попробуйте это:
$("#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");
Дальнейшее редактирование для вопроса выбора класса:
Для селектора классов замените «#» на «.» как и следовало ожидать:
$(".YourSelectClass>option:contains(yourtext)").remove();
И так как это просто выбор, вы можете ускорить его, комбинируя с селектором элемента:
$("select.YourSelectClass>option:contains(yourtext)").remove();