现在我正在使用以下代码,但在 Chrome 上大约需要 10 秒,在 IE11 上大约需要 2 分钟,这是它最终会被使用的地方。
for (var key in dict) {
if (dict.hasOwnProperty(key)) {
combo.innerHTML += "<option value=\"" + dict[key] + "\">" + key + "</option>";
}
}
我正在阅读本教程:http ://blog.teamtreehouse.com/creating-autocomplete-dropdowns-datalist-element建议在处理较大数量时像这样使用ajax,但我不确定大是指100个项目还是100,000 件商品。
var request = new XMLHttpRequest();
request.onreadystatechange = function(response) {
if (request.readyState === 4) {
if (request.status === 200) {
var jsonOptions = JSON.parse(request.responseText);
jsonOptions.forEach(function(item) {
var option = document.createElement('option');
option.value = item;
dataList.appendChild(option);
});
} else {
console.log("Failed to load datalist options");
}
}
};
request.open('GET', 'html-elements.json', true);
request.send();
我一直试图通过替换来让它在字典中工作request.responseText
,JSON.parse(JSON.stringify(dict));
但我遇到了问题,因为它不在文件中,所以让它开始发出请求。
我该怎么做?如果我不应该为此使用 DataList,你推荐什么替代方案?
提前致谢。