将JSON数据放入DataTables

时间:2014-11-04 23:54:37

标签: jquery arrays ajax json datatables

我试图在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
      ]);

    });

enter image description here

3 个答案:

答案 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)

这里是代码:

&#13;
&#13;
$.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;
&#13;
&#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"},
         ]
    });
 }

希望这有效!!