我写了这段代码,它可以工作:
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);
但是它仅显示第一个结果。如何显示整个列表?
答案 0 :(得分:1)
发生这种情况是因为您在每次迭代中都覆盖了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);
答案 1 :(得分:0)
$('#divId').append(search);
这会将搜索中包含的
元素附加到div元素。