【发布时间】:2019-12-18 01:48:22
【问题描述】:
这段代码:
$(document).ready(function() {
var table = $('#listtable').DataTable({
columnDefs: [{
orderable: false,
targets: [1,2,3]
}]
});
$('button').click( function() {
//var data_sent_to_server = JSON.stringify(table.$('input').serializeArray());
var data_sent_to_server = JSON.stringify(table.$('input').serializeArray());
// var data_sent_to_server = JSON.stringify(table.tableToJSON());
$.ajax({
type: "POST",
url: "<?php echo base_url('/material/FromMaterial/');?>",
data: data_sent_to_server,
cache: false,
success: function(data) {
console.log("Data sent to the server: \n\n "+data_sent_to_server);
console.log("Data recieved from the server: \n\n "+data);
},
error: function() {
console.log('Error....');
}
});
//event.preventDefault;
return false;
});
});`
结果如下:
[{"name":"MaterialId","value":"a0GC0000018TPfdMAG"},{"name":"Opportunity","value":"006C000000bpdl2IAA"},{"name":"TotalOrdered","value":"3"},{"name":"MaterialId","value":"a0GC0000014GyBSMA0"},{"name":"Opportunity","value":"006C000000bpdl2IAA"},{"name":"TotalOrdered","value":"0"},{"name":"MaterialId","value":"a0GC0000006v4ZaMAI"},{"name":"Opportunity","value":"006C000000bpdl2IAA"},{"name":"TotalOrdered","value":"0"},{"name":"MaterialId","value":"a0GC000000nl1UxMAI"},{"name":"Opportunity","value":"006C000000bpdl2IAA"},{"name":"TotalOrdered","value":"1"}]
但应该是这样的:
[
{
"MaterialId":"a0GC0000018TPfdMAG",
"Opportunity":"006C000000bpdl2IAA",
"TotalOrdered":"3"
},
{
"MaterialId":"a0GC0000014GyBSMA0",
"Opportunity":"006C000000bpdl2IAA",
"TotalOrdered":"0"
},
{
"MaterialId":"a0GC0000006v4ZaMAI",
"Opportunity":"006C000000bpdl2IAA",
"TotalOrdered":"0"
},
{
"MaterialId":"a0GC000000nl1UxMAI",
"Opportunity":"006C000000bpdl2IAA",
"TotalOrdered":"1"
}
]
这是 HTML 表格
<table id="listtable" class="table table-bordered table-striped table-hover" style="width:100%">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Budgeted</th>
<th>Total Ordered</th>
</tr>
</thead>
<tr>
<td>Black Can Liners 43" x 48</td>
<td>Material</td>
<td>3</td>
<td>
<input type="hidden" name="MaterialId" value="a0GC0000018TPfdMAG"/>
<input type="hidden" name="Opportunity" value="006C000000bpdl2IAA"/>
<input type="number" name="TotalOrdered" value="0" pattern="[0-9]*" min="0" max="3">
</td>
</tr>
<tr>
<td>Non-Acid Disinfectant - Per Gl</td>
<td>Material</td>
<td>2</td>
<td>
<input type="hidden" name="MaterialId" value="a0GC0000014GyBSMA0"/>
<input type="hidden" name="Opportunity" value="006C000000bpdl2IAA"/>
<input type="number" name="TotalOrdered" value="0" pattern="[0-9]*" min="0" max="2">
</td>
</tr>
<tr>
<td>Wet Mop-Blue</td>
<td>Equipment</td>
<td>1</td>
<td>
<input type="hidden" name="MaterialId" value="a0GC0000006v4ZaMAI"/>
<input type="hidden" name="Opportunity" value="006C000000bpdl2IAA"/>
<input type="number" name="TotalOrdered" value="0" pattern="[0-9]*" min="0" max="1">
</td>
</tr>
<tr>
<td>Xcelente Multi Purpose Cleaner -Gl</td>
<td>Material</td>
<td>1</td>
<td>
<input type="hidden" name="MaterialId" value="a0GC000000nl1UxMAI"/>
<input type="hidden" name="Opportunity" value="006C000000bpdl2IAA"/>
<input type="number" name="TotalOrdered" value="1" pattern="[0-9]*" min="0" max="1">
</td>
</tr>
</table>
我怎样才能得到这个,任何帮助将不胜感激
【问题讨论】:
-
因为
serializeArray()。 serializeArray() 方法通过序列化表单值来创建对象数组(名称和值)。请参考W3School
标签: javascript datatables