ページがあります。これを somepage.phtml と呼びましょう。元々は PHP の値が json でエンコードされ、このページでも初期化される drawVisualization 関数 (データはそこにありますが、問題ありません) に値として追加されます。
次に、これにはチャートが含まれている必要があります。
<div id="visualization" style="width: 500px; height: 400px; display:block"></div>
次に、Jquery を使用して記述されたアプリケーションの関数を含む中央の JavaScript ファイルがあります。Jquery、gVis に必要なすべてのスクリプトが初期化されます。API。すべての。
メインページのリンクをクリックして、ページ somepage.phtml からロードされた Google チャートを含む Jquery ダイアログを表示したいと考えています。
画像、テキスト、その他の JavaScript、php 値を読み込もうとしましたが、すべてが機能しますが、このグラフは機能しません。
Jquery での私の関数は次のようになります。
$('#shop-offers td.offer-graph a').click(function() {
var url = $(this).attr("href");
$.get(url, function(data) {
$('<div></div>').html(data).dialog({
modal: true,
minHeight: 350,
minWidth: 550
});
});
return false;
});
ダイアログをトリガーする代わりに、最初のクリックの後、何も起こりません。
2 回目のクリックの後、空白のページが読み込まれ、Google から継続的にデータが取得されます。
私はまた、同じ効果を持つGoogle Playgroundのグラフでこれを試しました - うまくいきませんでした.
グラフの例では、この時点で Firebug がスクリプトで出力します。
function drawVisualization() {
var data = google.visualization.arrayToDataTable([["Name", "Height", "Smokes"],["Tong Ning mu", 174, true], ["Huang Ang fa", 523, false], ["Teng nu", 86, true]]);
(new Google.visualization.ImageLineChart(document.getElementById("visualization"))).draw(data, null);
}
function drawVisualization() {
var data = google.visualization.arrayToDataTable([["Name", "Height", "Smokes"], ["Tong Ning mu", 174, true], ["Huang Ang fa", 523, false], ["Teng nu", 86, true]]);
(new google.visualization.ImageLineChart(document.getElementById("visualization"))).draw(data, null);
}
google.setOnLoadCallback(drawVisualization);