Napisałem tę małą funkcję, aby wypełnić listę rozwijaną danymi z serwera.Wyczyść listę rozwijaną z JQuery
function fillDropDown(url, dropdown) {
$.ajax({
url: url,
dataType: "json"
}).done(function (data) {
// Clear drop down list
$(dropdown).find("option").remove(); <<<<<< Issue here
// Fill drop down list with new data
$(data).each(function() {
// Create option
var $option = $("<option />");
// Add value and text to option
$option.attr("value", this.value).text(this.text);
// Add option to drop down list
$(dropdown).append($option);
});
});
}
mogę następnie wywołać funkcję w następujący sposób:
fillDropDown("/someurl/getdata", $("#dropdownbox1"))
Wszystko działa doskonale, z wyjątkiem jednej linii, gdzie jestem rozliczającego starych danych z listy rozwijanej. Co ja robię źle?
Wszelkie wskazówki, które mogą pomóc w ulepszeniu tego kodu, są również wysoko cenione.
BTW, to będzie działać całkiem dobrze jako plugin jQuery z odrobiną refaktoringu. –
dla mnie dane nie były listą DOM, ale tablicą javascript, więc zamiast tego '$ (dane) .each (function() ...' -> '$ .each (dane, funkcja() ..' – AaronLS
Musiałem kapitalizować 'Wartość' i' Tekst' – Rafael