から最初の行の結果を取得した後、各メソッド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);
});