#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть набор элементов выбора в jQuery, и я пытаюсь удалить диапазон параметров из них. Я хочу использовать переменные, но не могу понять это.
servoSelects.find('option')
//want to remove all options starting at index 1 and ending at variable
Ответ №1:
Если у вас есть какой-либо html, подобный следующему:
<select id="select_item" class="form-control">
<option value="">Select</option>
<option value="Option1">Option1</option>
<option value="Option2">Option2</option>
<option value="Option3">Option3</option>
<option value="Option4">Option4</option>
</select>
и вы хотите удалить любые параметры с помощью jquery, вы можете использовать следующий код
var val = "Option3";
$("#select_item:visible option[value='" val "']").remove();
Приведенный выше код удалит option3.
Комментарии:
1. Это не позволяет удалять диапазон параметров, поэтому на самом деле это не помогает.
2. servoSelects.filter(‘.lgServo’).find(‘option: lt(3)’).not(‘option: lt(1)’).remove(); Это не позволяет мне использовать переменную (насколько я знаю). Другая проблема, с которой он сталкивается, заключается в том, что он сохраняет первый вариант для первого выбора, но удаляет первый вариант для каждого выбора после первого на веб-странице.
Ответ №2:
servoSelects.filter('.lgServo').each(function() {
$(this).find('option').slice(1, lowValue).remove();
});
Этот код принимает набор jQuery (элементы select), захватывает только те, которые имеют класс «lgServo», и использует slice().remove(), чтобы позволить мне удалить диапазон параметров с одной или двумя переменными.