1

問題があります。JSON 配列を使用するアプリをいくつか作成しました。

構文はJquery 1.9を使用しています

ロジックは次のとおりです。テキスト ボックス (下の valobj 変数) から値を取得し、toprightsec div 領域に書き込みます。

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

JSON 配列は PHP 結果からのものです。いくつかの例

{"content":[{"title":"Test Post 100","intro_text":"Intro Test"}]}

しかし、それは機能していません。何か役に立ちますか?

前もって感謝します。

アップデート

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

更新 2

$(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);
});
4

2 に答える 2

2

次のコードを使用します。

 $('.toprightsec').append("Title" + data.content[0].title)
                            .append("Intro" + data.content[0].intro_text);

それ以外の:

 $('toprightsec').append("Title" + data.title)
                            .append("Intro" + data.intro_text);

id の場合toprightsecは # を使用し、クラスの場合は.. ここではそれを指定していません。

于 2013-06-17T10:21:40.333 に答える
0

json 配列を使用しているため、配列全体ではなく単一の配列要素にアクセスする必要があります。

json_array.title //WRONG 
json_array[0].title //OK

次のようなものを試してください:

$("#btnsearch").click(function() {
        valobj = $('#search_box').val();
        $.getJSON("search.php", { q : valobj }, function(data,result){
            //show result from database
            if (data.length){
                var _props = data.pop().content;
                $('toprightsec').append("Title" + _props.title)
                                .append("Intro" + _props.intro_text);
            }
            //end show result
        }, JSON);
    });
于 2013-06-17T10:22:39.843 に答える