1

私はこれに何時間も取り組んできましたが、解決策を見つけることができず、多くの困難を抱えていました。

私は2つの部門を持っています。div3 は、div2 が変更されるたびに、それに応じて内容を変更する必要があります。Div2 は ajax を介して変更されるため、これが発生すると、別の ajax 呼び出しをトリガーして div3 も変更する必要があります。

詳細は次のとおりです。

  1. いくつかの異なるクリック可能なボタンを含む main.html があります。クリックすると、これらの各ボタンが ajax 関数の読み込みをトリガーし、div2 に php ファイルを出力します。
  2. この php スクリプトは、データベース クエリの結果を出力します。これは、main.html のどのボタンがクリックされたかによって異なります。

  3. 現在のdiv 3出力のデータのサブセクションの内容を表示することになっているdiv-div3があります。

  4. したがって、論理的には、div2 が変更されるたびに、それに応じて div3 の内容も変更する必要があります。

  5. 最初は、phpファイルの最後にある2番目のajax関数への関数呼び出しを配置するだけでよいと思っていました.phpファイルの直後に常にロードされますが、明らかにJavaはajax出力内から読み取ることができません.

これが私が試したことです:

  1. PHPファイルの最後にあるjavascript<script>タグに関数呼び出しを入れようとしましたが、上記の理由で機能しませんでした。
  2. onloadphpファイルの最後のdivのイベントとして関数を呼び出そうとしましたが、うまくいきません。
  3. onchangeajax を介して内容が変更されるたびに 2 番目の ajax スクリプトが実行されるように、div2 要素に追加しようとしましたが、機能しませんでした。
  4. 最初の ajax 関数の最後から 2 番目の ajax 関数を呼び出そうとしましたが、最初の関数が正しく動作しませんでした。
  5. 奇妙なことに、関数をonclickphpファイルのイベントに添付し、phpがロードされたときにdiv2からクリックすると、機能し、div3のコンテンツが更新されます。

私がする必要があるのはonclick、php ページがロードされるか、div2 コンテンツが変更されるたびに、その関数呼び出しを自動化する方法を見つけることだけです。

追加メモ: 1. できることなら避けたいと思います。eval学習しようとしましたが、適切な正規表現を開発する方法論と他のすべての詳細が非常に複雑に思えたからです。適切なアプローチを開発するのに何時間もかかるかもしれませんし、それでもうまくいかないかもしれません....私が見落とした、または適切に実装されていない可能性のあるすべての単純なオプションに固執したいと思います。2. 私はこの投稿をタカのように見ているので、追加の詳細が必要な場合はお気軽にリクエストしてください。コードはかなり長く、より簡単な例で問題の性質をカプセル化するのが難しいため、投稿しませんでした。

ありがとう!

4

1 に答える 1

2

私があなたを正しく理解していれば、次のようなことを試すことができます:

$.ajax({
  type:'post',
  url:'url goes here',
  data:{<insert data being passed>},
  success:function(ret)
  {
      $('div y').html(ret); // populate div y

      $.ajax({
        type:'post',
        url:'second url goes here',
        data:{<insert data being passed>},
        success:function(ret2)
        {
         $('div x').html(ret2); // populate div x                
        }
      });    
  }
});

もちろん、これは私が大ファンの jquery アプローチです。

于 2012-10-31T05:47:05.013 に答える