0

MySQLデータベースからPHP配列を取得し、それをJSONオブジェクトとして返すjQueryスクリプトに取り組んでいます。これはすべて正しく機能し、キーを含む生のJSONオブジェクトを出力できます。

私が抱えている問題は、それを出力する方法です。これは、現在jQueryの$.eachを使用して行っています。

例:(完全なスクリプトではなく、必要なものだけ)

                if(data){
                $.each(data, function(key, data) {
                $('#div').append(  key + ' : '  + data  );

                });

        }

    } , 'json')

したがって、現時点での出力は次のようになります。例

     Name: Tom Age: 20 Gender: Male

ただし、配列のすべての結果が返されることは望ましくありません。これは、$。eachが実行していることです。配列のさまざまな部分を、必要な場所と時間に手動で出力したいと思います。

「name」のキーを持つ配列結果を取得できるように、このようなことを試しましたが、機能しませんでした(私の配列キーの1つはnameです)。

    $('#div').append(  key + ' : '  + data['name']  );

助言がありますか?

編集:それをもう少し明確にする:

配列全体をループして出力するのではなく、選択した部分だけを出力したいと思います。

data.name data.age

たとえば、配列に他に10個の結果がある場合でも、nameキーとageキーを持つ2つの配列のみが出力されます。

使用している配列はそのようなもので、結果は1つだけですが、複数の値があります。

    {Name: 'Tom' Age: 20 Gender: 'Male'}
4

4 に答える 4

1

どうですか:

$.each(data, function(key, data) {
    $('#div #span-'+key).html(data);
});

したがって、名前、年齢、性別のキーがある場合、ID を持つ 3 つのスパンが必要です: #span-name、#span-age、#span-gender で、データが入力されます。名前と年齢だけが必要な場合は、#span-gender スパンを削除するだけで表示されなくなります。

あなたのhtmlは次のようになります:

<div id="div">
    <span id="span-name"></span>
    <span id="span-age"></span>
</div>
于 2013-01-15T05:21:02.843 に答える
0

私はあなたがこれをしたいと思います:

$.each(data, function(key, val) {
   $('#div').html(key + ' : '  + val.name);
});

提案:これを 使用.html()すると、最新の結果で div を更新できるようになり.append()、結果が以前の結果に追加されます。

于 2013-01-15T05:01:49.800 に答える
0

で異なる変数名を使用しますeachdataメイン オブジェクトとコールバックの 2 番目の引数として使用しています。また、キーの使用では大文字と小文字が区別されることに注意してください

秒を別のものに変更する

$.each(data, function(key, item) {
                $('#div').append( item.Name  )

また、データがどのように見えるかは明確ではありません。次のようなオブジェクトの配列であると想定しています。

[ {Name: 'Tom' Age: 20 Gender: 'Male'}, {Name: 'Jane' Age: 20 Gender: 'Female'}]

データが単一のオブジェクトのみであり、配列がない場合は$.each、オブジェクト表記を使用して直接オブジェクトにアクセスする必要はありません

{Name: 'Tom' Age: 20 Gender: 'Male'}
alert( data.Name);
于 2013-01-15T05:03:33.790 に答える
-1

jQuery コードで、これを行います。

if(data){
    var dec_data = jQuery.parseJSON(data[0]);
    //Loop over it now
    jQuery.each(dec_data, function(key, val){
        //Stick it in the div
        jQuery('div').append(key+' - '+val);
    });
}
于 2013-01-15T04:56:19.687 に答える