Удаление элемента из окна выбора

Как удалить элементы или добавить элементы в поле выбора? Я запускаю jQuery, если это облегчит задачу. Ниже приведен пример окна выбора.

<select name="selectBox" id="selectBox">
    <option value="option1">option1</option>
    <option value="option2">option2</option>
    <option value="option3">option3</option>
    <option value="option4">option4</option>    
</select>

Ответ 1

Удалите параметр:

$("#selectBox option[value='option1']").remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="selectBox" id="selectBox">
  <option value="option1">option1</option>
  <option value="option2">option2</option>
  <option value="option3">option3</option>
  <option value="option4">option4</option>	
</select>

Ответ 2

Вы можете удалить выбранный элемент следующим образом:

$("#selectBox option:selected").remove();

Это полезно, если у вас есть список, а не раскрывающийся список.

Ответ 3

window.onload = function ()
{   
    var select = document.getElementById('selectBox');
    var delButton = document.getElementById('delete');

    function remove()
    {
        value = select.selectedIndex;
        select.removeChild(select[value]);
    }

    delButton.onclick = remove;    
}

Чтобы добавить элемент, я бы создал второй флажок select и:

var select2 = document.getElementById('selectBox2');
var addSelect = document.getElementById('addSelect');

function add()
{
    value1 = select2.selectedIndex;
    select.appendChild(select2[value1]);    
}

addSelect.onclick = add;

Не jQuery, хотя.

Ответ 4

Чтобы удалить элемент

$("select#mySelect option[value='option1']").remove(); 

Добавить элемент

$("#mySelect").append('<option value="option1">Option</option>');

Для проверки опции

$('#yourSelect option[value=yourValue]').length > 0;

Чтобы удалить выбранную опцию

$('#mySelect :selected').remove(); 

Ответ 5

Это должно сделать это:

$('#selectBox').empty();

Ответ 6

Я нахожу jQuery выбрать плагин манипуляции с полем, полезный для этого типа вещей.

Вы можете легко удалить элемент по индексу, значению или регулярному выражению.

removeOption(index/value/regex/array[, selectedOnly])

Remove an option by
- index: $("#myselect2").removeOption(0);
- value: $("#myselect").removeOption("Value");
- regular expression: $("#myselect").removeOption(/^val/i);
- array $("#myselect").removeOption(["myselect_1", "myselect_2"]);

Чтобы удалить все параметры, вы можете сделать $("#myselect").removeOption(/./);.

Ответ 8

Добавление/удаление значения динамически без жесткого кода:

//удалять значение из динамического выбора

$("#id-select option[value='" + dynamicVal + "']").remove();

//Добавить динамическое значение для выбора

$("#id-select").append('<option value="' + dynamicVal + '">' + dynamicVal + '</option>');

Ответ 10

Просто чтобы увеличить это для всех, кто ищет, вы также можете просто:

$("#selectBox option[value='option1']").hide();

и

$("#selectBox option[value='option1']").show();

Ответ 11

JavaScript

function removeOptionsByValue(selectBox, value)
{
  for (var i = selectBox.length - 1; i >= 0; --i) {
    if (selectBox[i].value == value) {
      selectBox.remove(i);
    }
  }
}

function addOption(selectBox, text, value, selected)
{
  selectBox.add(new Option(text, value || '', false, selected || false));
}

var selectBox = document.getElementById('selectBox');

removeOptionsByValue(selectBox, 'option3');
addOption(selectBox, 'option5', 'option5', true);
<select name="selectBox" id="selectBox">
    <option value="option1">option1</option>
    <option value="option2">option2</option>
    <option value="option3">option3</option>
    <option value="option4">option4</option>	
</select>

Ответ 12

Мне пришлось удалить первый вариант из select, без идентификатора, только класс, поэтому я успешно использовал этот код:

$('select.validation').find('option:first').remove();

Ответ 13

Я просто хочу предложить другой способ добавить option. Вместо того, чтобы устанавливать value и text как строку, вы также можете:

var option = $('<option/>')
                  .val('option5')
                  .text('option5');

$('#selectBox').append(option);

Это менее подверженное ошибкам решение при динамическом добавлении значений параметров и текстов.

Ответ 14

Если кому-то нужно удалить ВСЕ параметры внутри select, я сделал функцию litle.

Надеюсь, вы сочтете это полезным.

var removeAllOptionsSelect = function(element_class_or_id){
    var element = $(element_class_or_id+" option");
    $.each(element,function(i,v){
        value = v.value;
        $(element_class_or_id+" option[value="+value+"]").remove(); 
    })
}

Только выполнить

removeAllOptionsSelect("#contenedor_modelos");

Ответ 15

это поле выбора html

<select name="selectBox" id="selectBox">
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
<option value="option4">option4</option>    
</select>

когда вы хотите полностью удалить и добавить опцию из окна выбора, вы можете использовать этот код

$("#selectBox option[value='option1']").remove();
$("#selectBox").append('<option value="option1">Option</option>');

Когда-нибудь нам нужно скрыть и показать опцию из окна выбора, но не удалить, то вы можете использовать этот код

 $("#selectBox option[value='option1']").hide();
 $("#selectBox option[value='option1']").show();

Когда-нибудь нужно удалить выбранную опцию из окна выбора, затем

$('#selectBox :selected').remove();
$("#selectBox option:selected").remove();

когда вам нужно удалить все параметры, а затем этот код

('#selectBox').empty();

когда требуется первый вариант или последний, затем этот код

$('#selectBox').find('option:first').remove();
$('#selectBox').find('option:last').remove();