我试图在ajax调用成功响应后将所有json数据插入到dataTable中。我确定我正在获取所有json数据,但我不知道在值中放入什么参数。帮我。我的ajax代码。这里的问题是我想将所有数组放在表中。
function getData(){
$.ajax({
url: "<?php echo site_url('getcontributiontable'); ?>",
type: 'GET',
data: 'getContributionTable',
dataType: "json",
success: function(data) {
var otable = $("#dataTable").dataTable();
otable.fnClearTable();
$.each(data, function(key, value) {
var i = this.length; // this is to check if the loop is getting the right count of array in the object.
alert(i);
otable.dataTable().fnAddData([
value[0].ref_no, // for this line of code it only gets the first row or first array in the object.
value[0].table_name,
value[0].agency,
value[0].year,
value[0].date_added
]);
});
答案 0 :(得分:0)
value[0].ref_no,
value[0].table_name,
value[0].agency,
value[0].year,
value[0].date_added
到
value[key].ref_no,
value[key].table_name,
value[key].agency,
value[key].year,
value[key].date_added
答案 1 :(得分:0)
这里是代码:
$.each(data, function(key, value) {
var t = this.length;
for(var k=0; k<t; k++){
otable.dataTable().fnAddData([
value[k].ref_no,
value[k].from_range,
value[k].to_range,
value[k].monthly_salary,
value[k].cont_er,
value[k].cont_ee,
value[k].cont_total
]);
}
});
&#13;
我从朋友那里得到了这个答案。感谢您的所有回复:D
答案 2 :(得分:0)
这是因为您从收到的JSON(值[0])传递了第一个对象。在数据表中,如果您拥有所需的特定格式的JSON,则不需要使用循环。看看你的JSON,下面就是我在成功召集中所做的事情:
success: function(data) {
var myData = data;
var otable = $("#dataTable").dataTable({
"destroy" : true, //destroys any current datable with the same name and creates a new one with new options
"data" : "myData",
"columns" : [
{"data" : "ref_no"},
{"data" : "table_name"},
{"data" : "agency"},
{"data" : "year"},
{"data" : "date_added"},
]
});
}
希望这有效!!