1

グラフが表示されたメイン ページがあり、ユーザーはドロップダウン ボックスを使用して、表示するグラフを選択できます。

ドロップダウンが変更されたときに、AJAX が私のファイル、graphmaker.php から正しいグラフをロードするようにします。このファイルには、すべてのグラフが適切な DIV (graph1、graph2 など) に含まれています。

これらのグラフは、Google Charts Visualisation を使用して生成されます。

ただし、これを行うと、AJAX は空のボックスをロードするだけです。調査したところ、これはページ上のスクリプトが実行されないためです。

本質的に、私は Ajax に次のことを望んでいます。

  • graphmaker.php を取得する
  • ページをレンダリングする
  • 次に、正しいグラフを引き出します

私のコード:

function switchgraph(graph) {
var switchto = $("#graph"+graph+"_dd").val();
$('#graph'+graph).load('graphmaker.php #'+switchto);
}

助言がありますか?

デイブ

4

3 に答える 3

2

loadスクリプトを削除するセレクターを使用する代わりに、AJAX 呼び出しが終了したら、関連するグラフを選択します。

function switchgraph(graph) {
    var switchto = $("#graph"+graph+"_dd").val();
    $('#graph'+graph).load('graphmaker.php', function onComplete() {
       function doMoveGraph() {
           $('#graph' + graph).empty().append(toBeUsed);
       }
       function checkMoveGraph() {
            if (!toBeUsed.is(":empty")) {
                doMoveGraph();
            } else {
                setTimeout(checkMoveGraph, 100);
            }
       }
       var toBeUsed = $(this).find('#'+switchto);
       setTimeout(checkMoveGraph, 100);
    });
}
于 2012-09-11T11:36:44.767 に答える
0

使う必要があると思います

$.getScript() 

または、試すことができます

$.ajax({
 url: url,
 dataType: "script",
 success: success
});

APIを確認してください

于 2012-09-11T11:35:27.077 に答える
0

$.ajax の代わりに $.post 関数を使用することをお勧めします。次のようにしてみてください。

$.post('graphmaker.php', { data : dataSource },
  function(data) {
    //On Success
  }
)
于 2012-09-11T11:39:27.323 に答える