Удаление элемента из окна выбора
Как удалить элементы или добавить элементы в поле выбора? Я запускаю 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(/./);
.
Ответ 7
Я нашел две страницы, которые кажутся полезными, она написана для ASP.Net, но те же самые вещи должны применяться:
Ответ 8
Добавление/удаление значения динамически без жесткого кода:
//удалять значение из динамического выбора
$("#id-select option[value='" + dynamicVal + "']").remove();
//Добавить динамическое значение для выбора
$("#id-select").append('<option value="' + dynamicVal + '">' + dynamicVal + '</option>');
Ответ 9
Полезны следующие ссылки:
http://api.jquery.com/remove/
http://api.jquery.com/append/
Ответ 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();