我写了这段代码并且它有效:
function getJsonResult(retrieve) {
var result = retrieve.results;
for (var i = 0; i < result.length; i++) {
responseJson.push({ id: result[i].id, title: result[i].title });
var search = '<a id="' + result[i].id + '">' + result[i].title + '</a><br/>';
document.write(search);
}
}
当我尝试在 div 中显示结果时,我将最后一行更改为:
$("#divId").html(search);
但它只显示第一个结果。如何显示整个列表?
最佳答案
发生这种情况是因为您在每次迭代中都覆盖了 search
变量:
var search = '<a id="' + result[i].id + '">' + result[i].title + '</a><br/>';
您需要在循环外声明 search
变量,然后在每次迭代中附加字符串,例如:
function getJsonResult(retrieve) {
var result = retrieve.results;
var search = "";
___________^^^^
for (var i = 0; i < result.length; i++) {
responseJson.push({ id: result[i].id, title: result[i].title });
var search += '<a id="' + result[i].id + '">' + result[i].title + '</a><br/>';
___________^^
document.write(search);
}
}
最后你可以把你的变量内容放到 div 中:
$("#divId").html(search);
关于javascript - 数组列表在线显示一个来自json的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51446139/