Tôi đã viết chức năng nhỏ này để điền vào danh sách thả xuống có dữ liệu từ máy chủ.Danh sách thả xuống rõ ràng với 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);
});
});
}
sau đó tôi có thể gọi hàm theo cách này:
fillDropDown("/someurl/getdata", $("#dropdownbox1"))
Tất cả mọi thứ đang làm việc một cách hoàn hảo, ngoại trừ một dòng nơi tôi đang xóa dữ liệu cũ từ danh sách thả xuống. Tôi đang làm gì sai?
Bất kỳ mẹo nào có thể giúp cải thiện mã này cũng được đánh giá cao.
BTW, điều này sẽ làm việc khá độc đáo như một plugin jQuery với một refactoring chút. –
cho dữ liệu của tôi không phải là danh sách DOM mà là một mảng javascript thay vì '$ (dữ liệu) .each (function() ...' -> '$ .each (dữ liệu, hàm() ..' – AaronLS
Tôi đã tận dụng 'Giá trị' và' Văn bản' – Rafael