Escribí esta pequeña función para completar una lista desplegable con datos del servidor.Borrar la lista desplegable con 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);
});
});
}
A continuación, puedo llamar a la función de esta manera:
fillDropDown("/someurl/getdata", $("#dropdownbox1"))
Todo está funcionando perfectamente, a excepción de la línea en la que estoy borrar los datos antiguos de la lista desplegable. ¿Qué estoy haciendo mal?
Cualquier consejo que pueda ayudar a mejorar este código también es muy apreciado.
Por cierto, esto funcionaría bastante bien como un plugin de jQuery con un poco de refactorización. –
para mí los datos no eran una lista DOM sino una matriz javascript así que en su lugar '$ (datos) .each (función() ...' -> '$ .each (datos, función() ..' – AaronLS
Tuve que capitalizar Las opciones 'Value' y' Text' – Rafael