Я нашел несколько тем об удалении элементов из выпадающего элемента HTML.Однако, когда я пытаюсь это сделать, он не работает из сценария, но работает в консоли в браузере.
Остальная часть сценария работает нормально, и никаких ошибок не возвращается.Сначала у меня есть переменная с текстом элемента, я позволяю jQuery получить соответствующее значение, и с этим значением я удаляю элемент.
var topicToDelete = "topic3";
console.log(topicToDelete); //returns "topic3"
var dropdownValue = $('#pick_topic option').filter(function() {
return $(this).html() == topicToDelete;
}).val();
console.log(dropdownValue); //returns nothing
$('#pick_topic').find('option[value=' + dropdownValue + ']').remove(); //doesn't do anything
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="pick_topic">
<option value="1">topic1</option>
<option value="2">topic2</option>
<option value="3">topic3</option>
</select>
Непосредственное выполнение кода также не работает:
$('#pick_topic option').filter(function () { return $(this).html() == topicToDelete; }).remove(); // nothing
Однако, когда я ввожу строки в консоли браузера, строкаЛиния это работает, и элемент удаляется из выпадающего меню.Как это может быть?
Я также изучил этот ответ.