如何在ajax中将整个表行和列作为单个参数传递

时间:2014-11-18 10:20:03

标签: java jquery ajax foreach playframework

我想在ajax中的单个参数中发送表的所有选定行值。请在下面的代码中找到我为每个语句逐个发送的代码。如果表有7000行。它不会提供最佳性能。

<html><head><title></title></head><body>                        
<tr>
<th ><input type="checkbox" id="selectall" />SELECT</th>
<th>DEPARTMENT</th><th>BOXNO</th><th>QUANTITY</th><th>STATUS</th></tr><tr>
<td><input type="checkbox" /></td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<td><input type="checkbox" /></td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<td><input type="checkbox" /></td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<td><input type="checkbox" /></td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<button  id="save">Finish</button>
</body>
</html>

<script>
$(document).ready(function(){
$('#selectall').click(function(event) {
          $(':checkbox').prop('checked', this.checked);
        });
$("#save").click(function() {
    console.log("recorded");
      //get all the checked checboxex
      $('#tab input:checkbox:checked').each(function() {
        //for each checked checkbox, iterate through its parent's siblings
        var array = $(this).parent().siblings().map(function() {
          return $(this).text().trim();
        }).get();
        //to print the value of array
        console.log(JSON.stringify(array))
         $.ajax({
             type : 'POST',
             url : '@routes.Application.saveboxes()',
             data : {
                 dept: array[0],
                 boxnumber:array[1],
                 qty:array[2],
                 orgname:'IN1005',
                 packeddate:array[3]
             },
             success : function(data) {
                 $("#alreadyscan").slideUp();
                $('#completescan').slideDown();

                jQuery('input:checkbox:checked').parents("tr").remove();
                //location.reload();

           },
             error : function() {
                 $('#completescan').slideUp();
                 $("#alreadyscan").slideDown();
                 //alert("Error IN UP")
             }

             });
      })
});

</script>

如果可能的话,请告诉我如何在Java端收到相同的内容

1 个答案:

答案 0 :(得分:0)

table不应发送任何数据!使用适当的表单字段构建一个正确的表单,这样你就可以将它序列化,即JSON并通过AJAX发送。