1

JSON データから int を生成します

var f_page = ["TheHouseofMarley"];

retrieveData(f_page[0]);

function retrieveData(teamName) {               
    var baseURL = 'http://graph.facebook.com/';
    $.getJSON(baseURL+teamName+"&callback=?", function(data) {
    $('#FBlikes').append(data.likes)
        });
    };

これは機能し、〜8407が得られます

< table id="chartData"> からデータを読み取るチャートがあります

テーブルからデータを取得する jQuery セレクター ($('#chartData td')) を使用して、テーブル内のすべてのデータ セルを選択します。次に、jQuery の each() メソッドを使用して、これらのセルを反復処理します。各セルについて、左または右の列にあるかどうかに基づいて、それがラベル (例: "SuperWidget") セルか値 (例: "FBLike") セルかを判断します。次に、連想配列の「ラベル」または「値」キーの下にセルの内容を保存し、それを chartData 配列内に配置します。

$('#chartData td').each( function() {
  currentCell++;
  if ( currentCell % 2 != 0 ) {
    currentRow++;
    chartData[currentRow] = [];
    chartData[currentRow]['label'] = $(this).text();
  } else {
   var value = parseFloat($(this).text());
   totalValue += value;
   value = value.toFixed(2);
   chartData[currentRow]['value'] = value;
  }

  // Store the slice index in this cell, and attach a click handler to it
  $(this).data( 'slice', currentRow );
  $(this).click( handleTableClick );

問題は、この数値を < table id="chartData"> に挿入すると、チャートによって読み取られないことです!

<table id="chartData">

<tr style="color: #0DA068">
  <td>Number of Likes </td><td><span id='FBlikes'></span> </td> //Not Read!
</tr>

<tr style="color: #194E9C">
  <td>MegaWidget</td><td>20000</td> //This is Read by the Chart!
</tr>

つまり、Javascript 出力が HTML テーブルから読み取られていません。誰かが私をある方向に向けることができますか? 私はコードが本当に初めてです。

4

1 に答える 1

1

通常、この問題は Ajax で発生します。

「data.likes」を追加した文字列を作成します。次に、最後に文字列を要素に割り当てます。

これはまったくばかげているように聞こえるかもしれませんが、私にとってはうまくいきました。ajax 応答文字列を使用して jQuery で動的にテーブルを作成するたびに、テーブルを取得できませんでした。それから私は私が述べた手順に従いました。

私の解決策が機能する場合は、なぜそうなのかを理解するのを手伝ってください。

于 2012-06-27T12:37:45.763 に答える