Удаление элемента из поля выбора
Как удалить элементы из или добавить элементы в поле выбора? Я запускаю 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>
15 ответов:
удалить Вариант:
$("#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>добавить вариант:
$("#selectBox").append('<option value="option5">option5</option>');<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>
вы можете удалить выбранный элемент с помощью этого:
$("#selectBox option:selected").remove();это полезно, если у вас есть список, а не выпадающий список.
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; }чтобы добавить элемент, я бы создал второе поле выбора и:
var select2 = document.getElementById('selectBox2'); var addSelect = document.getElementById('addSelect'); function add() { value1 = select2.selectedIndex; select.appendChild(select2[value1]); } addSelect.onclick = add;не в jQuery.
чтобы удалить элемент
$("select#mySelect option[value='option1']").remove();добавить элемент
$("#mySelect").append('<option value="option1">Option</option>');чтобы проверить наличие опции
$('#yourSelect option[value=yourValue]').length > 0;чтобы удалить выбранную опцию
$('#mySelect :selected').remove();
Я нахожу jQuery выберите окно манипуляции плагин полезно для этого типа вещей.
Вы можете легко удалить элемент по индексу, значение, или regex.
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(/./);.
Я нашел две страницы, которые кажутся полезными, это написано для ASP.Net, но тот же материал должен применяться:
добавление/удаление значения динамически, без жесткого-код:
/ / удалить значение из select динамически
$("#id-select option[value='" + dynamicVal + "']").remove();// добавить динамическое значение для выбора
$("#id-select").append('<option value="' + dynamicVal + '">' + dynamicVal + '</option>');
просто чтобы увеличить это для тех, кто ищет, вы также можете просто:
$("#selectBox option[value='option1']").hide();и
$("#selectBox option[value='option1']").show();
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>jQuery
jQuery(function($) { $.fn.extend({ remove_options: function(value) { return this.each(function() { $('> option', this) .filter(function() { return this.value == value; }) .remove(); }); }, add_option: function(text, value, selected) { return this.each(function() { $(this).append(new Option(text, value || '', false, selected || false)); }); } }); }); jQuery(function($) { $('#selectBox') .remove_options('option3') .add_option('option5', 'option5', true); });<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>
мне пришлось удалить первый вариант из select, без идентификатора, только класс, поэтому я успешно использовал этот код:
$('select.validation').find('option:first').remove();
Я просто хочу предложить другой способ, чтобы добавить
option. Вместо установкиvalueиtextв качестве строки можно также сделать:var option = $('<option/>') .val('option5') .text('option5'); $('#selectBox').append(option);Это менее подверженное ошибкам решение при динамическом добавлении значений параметров и текстов.
Если кому-то нужен удалить все параметры внутри выбора, я сделал небольшую функцию.
Я надеюсь, что вы найдете его полезным
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");
это поле выбора 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();
Comments