Удаление диапазона внутри группы s

#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(), чтобы позволить мне удалить диапазон параметров с одной или двумя переменными.