2

PHPでこのような別の配列内に配列があります

Array
(
    [common_search] => Array
        (
            [BusinessName] => Sun Shine Vision
            [Address] => Amulia St Madhava Pharmacy Jn
            [Phone] => 
        )

    [cache_table] => Array
        (
            [Details] => Speedtrax,Ample's Bldg Off Banerji Rd., Amulia St,
        )

)

そして、Jqueryを使用して結果ページでこれらを個別の配列として反復する必要があります。これらの配列を個別に取得して、異なるdivに表示してhtmlとして設定する必要があるため、2つの配列(common_search、cache_table)からデータを個別に取得するにはどうすればよいですか. そして、私のhtmlでは、のようなデータを設定したいと思い$("#common_searchdiv").html(common_search)ます$("#cache_tablediv").html(cache_table)。前もって感謝します

4

3 に答える 3

2

名前付き配列をjsonエンコードすると、それらはjavascriptのオブジェクトとして解析されるため、次のようにすることができます:

<script>
   var data = <?=json_encode($data);?>
</script>

javascriptのデータはオブジェクトになるので、次のようなプロパティに直接アクセスできます

<script>
data["common_search"]["BusinessName"];
</script>

またはそれを繰り返します

$.each

于 2013-04-25T06:45:14.160 に答える
1

データを配列として直接渡すことはできません。配列のjson_encodeを行います。次に、jquery 側で json を解析し、each/for ループを実行します。キーの一致で if 条件を追加できます。

このようなことをしてください

var result = $.parseJSON(jsonstring);//jsonstring is your json encoded string.

for(var k in result) {
   if (k == 'common_search') {
       $("#common_searchdiv").html(result[k]); 

   } 
   if (k == 'cache_table') {
       $("#cache_tablediv").html(result[k]);
   }
}

ご参考までに、それは動作します

var jsonstring = {"common_search":{"strBusinessName":"Sun Shine Vision","strAddress":"Amulia St Madhava Pharmacy Jn","intPhone":""},"cache_table":{"Details":"Speedtrax,Ample's Bldg Off Banerji Rd., Amulia St,"}};
var jsonstring = JSON.stringify(jsonstring).replace(/\'/, "/'");
var result = $.parseJSON(jsonstring);//jsonstring is your json encoded string.

for(var k in result) {

   if (k == 'common_search') {
       alert(result[k]['strBusinessName'])
       $("#common_searchdiv").html(result[k]['strBusinessName']); 

   } 
   if (k == 'cache_table') {
       $("#cache_tablediv").html(result[k]);
   }
}
于 2013-04-25T06:42:24.520 に答える