setGridParam方法POSTDATAにjqGridは、過去のデータの問題が含まれています

  システムjqGridを使用して、クエリのタームボックスのページの一部ならば、背景は値で問題が修正しません、配列が受信されます。

1、クエリページのチェックのためのプロジェクトがあります:保留中のS1は、それはS2を処理している、S3を処理しました。

以下の方法を使用してクエリデータを提出JqGrid:

$( "#xxTable")。setGridParam({

  データ型: "JSON"、
  POSTDATA:{
    "ID":$( "#番号")のval()。
    "nodeStatus":checkBoxValues( "nodeStatus")
   }
  })トリガー( "reloadGrid"、[{ページ:1 }])。

次のように2、アンケートです。

  最初のパス値:ID 123456送信は、処理すべきチェック

       POSTDATA:ID:123456、nodeStatus: [S0]
       第二のパス値:ID 1234567転送、確認処理中
       POSTDATAをID:1234567、nodeStatus: [S1]
       実測3パス目:処理対象のチェック処理である
       POSTDATA :nodeStatus:[S0、S1]
       4パス実測値:検査保留、処理
       POSTDATA:nodeStatus:[S0、S2 ]
       5パス目実測値:、加工処理されて処理されることにあるチェック
       nodeStatus:POSTDATAました: [S0、S1、S2は】
       第六の実測渡します、加工処理されているチェック
       POSTDATA:nodeStatus:[S1、S2 、S2]
       第伝統的な値:処理、処理すべきチェック
       POSTDATAを:nodeStatus:[S0 、S2、S2]
       第伝統的な値:処理チェック
       POSTDATA:nodeStatus:[S2、S2 、S2]

  それは問題の配列になります場合には、優れた単一の値であれば見つけることは困難ではない、それは、提出され、最後から過去のデータ、及びこの投稿の交換に対応したデータを有効にします。  

3、問題を解決する方法:

  背景に送信するデータのシーケンスを返し、jqGrid serializeGridData内で使用される場合は、バックグラウンドに戻るように再割り当てした後、ここに送られました。

              serializeGridData:機能(POSTデータ)
              {
                postData.nodeStatus = checkBoxValues( "nodeStatus")。
                JSON.stringify(POSTDATA)を返します。
              }、
   後者のクエリページは、クエリの入力ボックスを追加した場合、このメソッドは、それが一度、すべてのためではない、という欠点を持って、その後、再割り当てをするためにここに覚えています。

  B、単純かつ粗製の方法は、各要求は、履歴データを除去する前に:

    VAR POSTDATA = $( "#xxTable")jqGrid( "getGridParam"、 "POSTデータ")。  

    $の.each(POSTDATA、関数(K、V){  

      POSTDATA [k]を削除します。  
    }); 
    この方法は、一般的な方法に精製することができます。

 

おすすめ

転載: www.cnblogs.com/xStarMoony/p/11401889.html