工作中遇到了要把多行table同时进行保存的操作
table表格是这样画的
<table class="table table-bordered" style="width: 100%" id="table">
<thead>
<tr>
<th>序号</th>
<th>证据物品名称</th>
<th>规格及批号</th>
<th>数量</th>
<th>操作</th>
</tr>
</thead>
<tbody class="InputsWrapper">
<tr>
<td><input style="width: 30px" class="no-border"value="1" readonly></td>
<td><input style="width: 200px" class="no-border"></td>
<td><input style="width: 120px" class="no-border"></td>
<td><input style="width: 25px" class="no-border"></td>
<td><p style="height: 10px" class="fa fa-plus"></td>
</tr>
</tbody>
</table>
获取table中的值
function get_table_data() {
var tr = $("#table tr");
var result = [];
for (var i = 0; i < tr.length; i++) {
var inputs = $(tr[i]).find("td").find("input");
if (inputs.length > 0) {
result.push({
evidName : inputs[1].value,
specModel : inputs[2].value,
evidNum : inputs[3].value
});
}
}
return result;
}
把table中的值封装到json中
var bisSuenDocuSacertCont = get_table_data();
var json= {
agenGene : $("#agenGene").val(),
bisSuenDocuSacertCont : bisSuenDocuSacertCont
};
$.ajax({
url:'<%=request.getContextPath()%>/jdzf/zfws/sacert'+method+'',
type:"post",
dataType:"json",
contentType:"application/json",
data:JSON.stringify(json),
success:function(){
alert("success");
}
});
思路是这样的,循环table的tr,找到tr中的td的input,然后把input按照下标从0开始放到数组中(我的input下标0是序号,不封装进json中的),再把数组封装到json中的一个字段,那么这个json格式的数据就有一个字段是数组的,后台实体类接收,这个实体类其中有一个List的属性是与这个数组名字对应的,那么就能封装进去