我正在尝试通过数据库数据填充HTML下拉菜单。为此,我从数据库中检索数据并创建如下的选项元素:
var obj = eval("(" + data + ")");
for (i = 1; i <= obj.DATA.length; i++) {
var col_val = obj.DATA[i - 1];
$("#dropdown").append('<option value="' + col_val + '">' + col_val + '</option>');
}
我还尝试了下面的另一种方法:
$("#dropdown").html(data);
在这里,data是一个字符串,它包含调用CFC页面后使用cfloop循环数据库查询返回的选项元素列表。
在添加新选项之前,我使用以下语句之一删除旧选项。
$('#dropdown').empty();
$('#dropdown option').remove();
$('#dropdown').html('');
经过分析,我发现删除选项是导致最大延迟的原因。
是否有更快的替代JavaScript或Jquery函数可用于删除选项?或者您建议采用哪种解决方案来提高性能?
注意:我必须使用ColdFusion和AJAX来完成此目的。同时,我不能使用ColdFusion的内置AJAX功能。
谢谢!