Как удалить все параметры из раскрывающегося списка с помощью Jquery/JS
Привет всем, у меня есть выпадающее меню, как показано ниже:
<select id="models" onchange="removeElements()">
<option id = "remove" value="0">R8</option>
<option id = "remove" value="1">Quattro</option>
<option id = "remove" value="2">A6 hatchback</option>
</select>
как бы создать script removeElements(), который удалит все параметры в пределах выбора?
Ответы
Ответ 1
Вы не сказали о том, какое событие. Просто используйте ниже на своем слушателе событий. Или на странице загрузки
$('#models').empty()
Затем для повторного заполнения
$.getJSON('@Url.Action("YourUrl")',function(data){
var dropdown=$('#models');
dropdown.empty();
$.each(data, function (index, item) {
dropdown.append(
$('<option>', {
value: item.valueField,
text: item.DisplayField
}, '</option>'))
}
)});
Ответ 2
Вы можете использовать . remove() для элементов опции:
.remove(): удалить набор согласованных элементов из DOM.
$('#models option').remove(); or $('#models').remove('option');
или используйте . empty() при выборе:
.empty(): удалить все дочерние узлы набора согласованных элементов из DOM.
$('#models').empty();
однако для повторного заполнения удаленных параметров вам необходимо сохранить этот параметр при удалении.
Вы также можете добиться того же, используя show/hide:
$("#models option").hide();
а затем, чтобы показать их:
$("#models option").show();
Ответ 3
function removeElements(){
$('#models').html('');
}
Ответ 4
Попробуйте это
function removeElements(){
$('#models').html("");
}
Ответ 5
В случае, если .empty() не работает для вас, что для меня
function SetDropDownToEmpty()
{
$('#dropdown').find('option').remove().end().append('<option value="0"></option>');
$("#dropdown").trigger("liszt:updated");
}
$(document).ready(
SetDropDownToEmpty() ;
)