从 获得第一行结果后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,所以该行像在数据库中一样打印?
更新
在对我的功能进行了一些调整之后,我添加了新功能来使用列表显示结果。
这是语法
$(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 = $("<li><a></a><br /><p></p></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 = $("<li><a></a><br /><p></p></li>");
$("#posting").append(li);
$("a",li).text(value.title);
$("p",li).text(value.intro_text);
});
//end show result
}, JSON);
});