Ich habe ein Dropdown-Menü wie folgt:
<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>
Wie würde ich das Skript removeElements()
erstellen, das alle Optionen in select auswählt?
Sie haben nicht gesagt, bei welchem Event. Verwenden Sie unten Ihren Event-Listener. Oder verwenden Sie das Laden Ihrer Seite
$('#models').empty()
Dann wieder aufzufüllen
$.getJSON('@Url.Action("YourAction","YourController")',function(data){
var dropdown=$('#models');
dropdown.empty();
$.each(data, function (index, item) {
dropdown.append(
$('<option>', {
value: item.valueField,
text: item.DisplayField
}, '</option>'))
}
)});
Sie können entweder .remove () für Optionselemente verwenden:
.remove (): Entfernen Sie den Satz übereinstimmender Elemente aus dem DOM.
$('#models option').remove(); or $('#models').remove('option');
oder benutzen Sie .empty () on select:
.empty (): Entfernen Sie alle untergeordneten Knoten des Satzes übereinstimmender Elemente aus dem DOM.
$('#models').empty();
um jedoch gelöschte Optionen erneut aufzufüllen, müssen Sie die Option beim Löschen speichern.
Dasselbe können Sie auch mit show/hide erreichen:
$("#models option").hide();
und später um sie zu zeigen:
$("#models option").show();
Falls .empty () für Sie nicht funktioniert, was für mich ist
function SetDropDownToEmpty()
{
$('#dropdown').find('option').remove().end().append('<option value="0"></option>');
$("#dropdown").trigger("liszt:updated");
}
$(document).ready(
SetDropDownToEmpty() ;
)
function removeElements(){
$('#models').html('');
}
Versuche dies
function removeElements(){
$('#models').html("");
}
Jeder, der JavaScript verwendet (im Gegensatz zu JQuery), könnte diese Lösung ausprobieren, wobei "Modelle" die ID des Auswahlfelds ist, das die Liste enthält: -
var DDlist = document.getElementById("models");
while(DDlist.length>0){DDlist.remove(0);}