1

PHPからjsonエンコードされた配列があります

配列は次のようになります ($jsonGraphData; と呼ばれます):

[{"Type":"Category","Name":"games","TotalClicks":"162"},{"Type":"Category","Name":"apps","TotalClicks":"29"},{"Type":"Category","Name":"music","TotalClicks":"28"},{"Type":"Category","Name":"video","TotalClicks":"25"}]

グラフを生成する jquery 関数内のループで配列値を使用したいと思います。これらは、グラフが機能するようにハードコードされた値です。

series: [{
                name: 'games',
                data: [162]

            }, {
                name: 'apps',
                data: [29]

            }, {
                name: 'video',
                data: [25]

            }]

私がやりたいのは、jquery 'each' を使用して配列をループし、シリーズの定義が動的になるようにすることです。これが私が達成しようとしているものです。

var totalClicks = $jsonGraphData; (this is the array, the alert works fine).

series: [{
  $.each(totalClicks, function(index, val) {
    alert('name: ' + val.Name + ' ' + 'data: ' + val.TotalClicks);
    //here is where I need the format to be the same as the example above.
  });   
}]

これを達成するためのjquery構文の知識がなく、Googleで何を検索すればよいかわかりません。

4

2 に答える 2

0

このコードを試してください

var series = [];
  $.each(totalClicks, function(index, val) {
    series.push({name: val.Name, data: val.TotalClicks});
  });   

または、データが1つの値のみを含む配列である必要がある場合。

var totalClicks = [{ "Type": "Category", "Name": "games", "TotalClicks": "162" }, { "Type": "Category", "Name": "apps", "TotalClicks": "29" }, { "Type": "Category", "Name": "music", "TotalClicks": "28" }, { "Type": "Category", "Name": "video", "TotalClicks": "25"}]

var series = [];
$(totalClicks).each(function (index, val) {
    series.push({ "name": val.Name, "data": [val.TotalClicks] });
});
于 2013-01-17T09:55:28.460 に答える
0

通常の配列をループするために jQuery を使用する必要はありません。

for(var obj in yourArray){
  // do whatever you need with it.
  alert(obj.Name + " " + obj.TotalClicks);
}
于 2013-01-17T09:58:23.757 に答える