从JSON数组获取列表结果

JSON array获得第一行结果后,我需要使用jquery每个方法打印所有结果。

这是我的语法

  $(document).ready(function () { $("#btnsearch").click(function() { valobj = $('#search_box').val(); $.getJSON("search.php", { q : valobj }, function(data,result){ //show result from database $.each(data.content, function() { $('.toprightsec').append("Title" + data.content[0].title) .append("Intro" + data.content[0].intro_text); }); //end show result }, JSON); }); 

data.content[0]仅显示循环的第一行。 但它自己没有改变的数据。 如何解决data.content[0] .title,所以行像数据库一样打印?

UPDATE

在为我的函数创建一些调整后,我添加了新function以使用列表显示结果。

这是语法

 $(document).ready(function () { //function to get the result from user-input $("#btnsearch").click(function() { valobj = $('#search_box').val(); $.getJSON("search.php", { q : valobj }, function(data,result){ //show result from database $.each(data.content, function(index, value) { $("#divContent").show(); var li = $("

  • "); $("#posting").append(li); $("a",li).text(value.title); $("p",li).text(value.intro_text); }); //end show result }, JSON); });

    问题是,我如何重置结果,如果我们想基于另一个关键字显示,那么如果用户键入新关键字,列表是否清楚? 没有刷新浏览器。

    谢谢。

    更新2

      $(document).ready(function () { //function to get the result from user-input $("#btnsearch").click(function() { //clear the div $("#divContent").html(""); valobj = $('#search_box').val(); $.getJSON("search.php", { q : valobj }, function(data,result){ //show result from database $.each(data.content, function(index, value) { $("#divContent").show(); var li = $("

  • "); $("#posting").append(li); $("a",li).text(value.title); $("p",li).text(value.intro_text); }); //end show result }, JSON); });

    在每个中,您可以在当前迭代中捕获元素:

     $.each(data.content, function(i, val) { $('.toprightsec') .append("Title" + val.title) .append("Intro" + val.intro_text); }); 

    在$ .each函数中有两个参数。 第一个是索引,第二个是值。

    像这样:

     $.each(data.content, function(index,value) { alert(value); } 

    你可以使用它们作为变量,在你的情况下,每个循环将执行如下:

     $.each(data.content, function(index, value) { $('.toprightsec') .append("Title" + value.title) .append("Intro" + value.intro_text); });