0

アコーディオン パネルがあり、各パネルには JavaScript で独自の変数があります。

トランザクションや POST リクエストのキューなどを使用して、各パネルのデータを jQuery に保存したいと考えています。

onSaveすべてのパネルは、データを準備することによって、独自のイベントをクリックにバインドします。

//panel1 that prepares the data
$("#save").click(function() {
  globalvar['panel1'] = 'somedata';
});
//panel2 prepares the data
$("#save").click(function() {
  globalvar['panel2'] = 2*21+11;
});

すべてのパネルのデータが準備された後、どのように AJAX リクエストを行うことができますか?

4

2 に答える 2

1

次のように実行できます: パネルのデータが onLoad でロードされていないと仮定し、各パネルにクラスを追加します。このクラスは、特定のパネルのデータがまだロードされていないことを意味します

<div class="noDataLoaded"></div>

データのロード時にそのクラスを削除します

$("#save").click(function() {
  //code to load data
  //Adjust according to your HTML structure 
  $(this).removeClass("noDataLoaded"); //encapsulate this when it has succeeded loading. 
  groupPost();
});

すべてのデータがロードされたかどうかをチェックする関数

   function groupPost() {
     if($(".noDataLoaded").length == 0){
       $.ajax({
        //code
       });
      }
    }

groupPost()クラスを使用している要素がない場合にnoDataLoadedのみ発生し、すべてのパネルをクリックしてそのデータをロードした場合にのみ発生します。

于 2013-06-03T01:01:31.487 に答える