2017-02-05 5 views
0

私はマルチセレクション能力を持つJquery DataTableを持っています。また、ボタンやdiv要素があります:DataTableを選択した行をjspに送信

<script> 
      $(document).ready(function() { 
         var tablemovChAf = $('#movChAf').DataTable({ 

         //multiselect  
         $('#movChAf tbody').on('click', 'tr', function() { 
           $(this).toggleClass('selected');    
         }); 

      }) 
    </script> 

    <button name="sbmsimulate" class="button-input btn btn-info" id="sbmsimulate" style="info" type="button" > 
    <div id="divAccMovement"></div> 

私が欲しいのボタンをクリックして「accMovement.jsp」に選択したすべての行を送信することです。

$('#sbmsimulate').click(function() { 

    $('#divAccMovement').load('accMovement.jsp',{ 
     mode:"2", 
     arrayData:tablemovChAf.rows('.selected').data() 
    }); 

});  

myjsp accMovement.jspは次のようになります。 (実際には、それは私がやっていることである)Passing javascript array to servletが、それは私のために働くのdidnt:

<% 
String str_mode=request.getParameter("mode").toString(); 
String[] arrayData=null; 

if (str_mode.equals("2")) { 
    arrayData=request.getParameterValues("arrayData[]"); 
} 

%> 

私はのソリューションを試してみました。ボタンをクリックしても何も起こりません。

私がデバッグであり、問​​題がであるようだ:それはコメント化されている場合は、ので、(とJSP内のステートメントもコメントされた「場合」)、それが働いている

arrayData:tablemovChAf.rows('.selected').data() 

。しかし、私が必要とするのは、JSPページに選択した行を送ることです。

クライアントからアレイを送信し、サーバー上でアレイを受信する正しい方法は何ですか?

ありがとうございます。

答えて

0

私は(このjQuery DataTables Getting selected row values次)私の場合のためにとてもスマートではない解決策を見つけた、それは私が必要とまさにませんが、私は私の目標

$('#sbmsimulate').click(function() { 

     var ids = $.map(tablemovChAf.rows('.selected').data(), function (item) { 
      return item[11] 
     }); 

     $('#divAccMovement').load('accMovement.jsp',{ 
      mode:"2", 
      arrayData:ids 
      }); 
    }); 

をachiveするために、後で列をいくつかのステートメントを追加することができますインデックス11のIDは私のdataTableのIDなので、サーバー側ではすべての行についてすべての情報を取得できます。

私はそのステップを避けたいしかし

var ids = $.map(tablemovChAf.rows('.selected').data(), function (item) { 
     return item[11] 
    }); 

と、パラメータにこのようなもののすべてを指定します。

arrayData:tablemovChAf.rows('.selected').data() 
関連する問題