2012-02-02 16 views
0

私は自分のページ(page1.php)にloadlink idのリンクをクリックすると更新されるresultという名前のdivがあります。それはpage2.phpに沿ったURLを送信するスクリプトは次のとおりです。php jquery div refresh

$(function() { 
    $(".loadlink").click(function(event) { 
    event.preventDefault(); 
    $("#result").load($(this).data('url')); 
    }); 
}); 

私はそれはそれはまた、URL page3.phpからのデータで、これを実行した後、別のdivがcrimesと呼ば更新したいと思います。これを行うためにコードをどのように変更できますか?そして、あなたがそれらを同時に実行可能な第2のAJAX要求は最初に依存していない場合:

$(function() { 
    $(".loadlink").click(function(event) { 
     event.preventDefault(); 
     $("#result").load($(this).data('url'), function() { 
      $('#crimes').load('page3.php'); 
     }); 
    }); 
}); 

注:

+1

訂正:「loadlink idを持つリンクをクリックすると」と表示されます。期間記法は、あなたが 'loadlink'クラスで要素を探していることを示します。 – Jasper

答えて

1

あなたはこの1つが完了すると、別のAJAXリクエストを実行するための​​関数のコールバック関数を使用することができます(ちょうどそれらを1つずつ呼び出すと、正常に戻るたびにDOMを更新します)。どのコールバックが最初に戻ってくるのかわからないでしょう。それはコールバック関数の有用性です。次のリクエストを送信する前に完了したことがわかります。

+0

'#result'がロードされるまで、'#crimes'をロードしたくない場合は、これが正しいです。 OPが何を求めているのかが正確には分からない。 – AndrewR

+0

実際には、OPは「これが実行された後」と述べましたが、あなたのコメントを投稿したときにメモを追加していたので、OPが何を望んでいるか完全にはわかりません。 – Jasper

+0

私は結果が更新された後に犯罪divを更新したい。私はこのコードを試しましたが、動作させることはできません。 – user1022585

0

クリック機能に別のload()を追加するだけです。

$(function() { 
    $(".loadlink").click(function(event) { 
    event.preventDefault(); 
    $("#result").load($(this).data('url')); 
    $("#crimes").load('page3.php'); 
    }); 
});