Как удалить все параметры из раскрывающегося списка с помощью 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() ;
)