我想在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端收到相同的内容
答案 0 :(得分:0)
table
不应发送任何数据!使用适当的表单字段构建一个正确的表单,这样你就可以将它序列化,即JSON并通过AJAX发送。