2017-06-17 41 views
0

我知道这被问了几百次,但我认为我的案例非常具体,它需要知道jQuery帮助的人,或者至少已经看到过!DataTables警告:表id = table_especie - 请求未知参数'0'为第0行第0列

我有这样的代码中创建一个名为表“especie:

HTML

<table class="table" id="table_especie"> 
    <thead> 
     <tr> 
     <th></th> 
     <th></th> 
     </tr> 
    </thead> 
    <tbody> 
    </tbody> 
</table> 

脚本JS:

var tableEspecie= $('#table_especie').DataTable({ 
    "paging": false, 
    "info":  false, 
    "order": [ 
     [2, "asc" ], 
     [3, "asc"], 
     [1, "asc"] 
    ], 
    "columnDefs": [ 
     { "visible": false, "targets": 0 }, 
     { "visible": false, "targets": 2 }, 
     { "visible": false, "targets": 3 } 
    ], 

    "drawCallback": function() { 
     var api = this.api(); 
     var rows = api.rows({page:'current'}).nodes(); 
     var last=null; 

     api.column(2, {page:'current'}).data().each(function (especie, i) { 
      if (last !== especie) { 
       $(rows).eq(i).before(
        '<tr class="especie info"><td colspan="4">'+especie+'</td></tr>' 
       ); 

       last = especie; 
      } 
     }); 

     $("#table_especie thead").remove(); 
     $("#table_especie tfoot").remove(); 
    } 
}); 

var populateEspecieShowName = function(data) { 
    $('#animal_especie_name').text(data[0].name); 
}; 


var populateEspecieTable = function(data) { 
    var animais = []; 

    $.each(data, function(id_animal, animal){ 
     animais.push([ 
      animal.id_animal, 
      animal.nome_animal + ': ' + '<br>' + animal.notas_animal, 
      animal.foto_animal 
     ]); 
    }); 

    $('#table_especie').dataTable().fnClearTable(); 
    $('#table_especie').dataTable().fnAddData(animais); 
    $('#table_especie').dataTable().fnDraw(); 
}; 

$('#table_especie tbody').on('click', 'tr', function() { 
    var animalId = $('#table_especie').DataTable().row(this).data(); 

    if (animalId !== undefined) 
     $.route('animal/' + animalId[0]); 
}); 

$('#table_especie_search').keyup(function(){ 
    $('#table_especie').DataTable().search($(this).val(), false, true).draw() ; 
}); 

基本上,它利用数据库中的数据构建表!我收到错误信息(DataTables warning:table id = table_especie - 请求第0行第0列的未知参数为'0'。有关此错误的更多信息,请参见http://datatables.net/tn/4)我从表“especies”转到表“especie”。这个错误使得它听起来像是“especie”有问题。我应该改变什么来使错误消失?它仍然建立表格,但是我之前得到这个错误。谢谢!!!

+0

我为你正在尝试做的有点困惑。我看到你删除标题,这打破了DataTables。你只是想创建动态列? – Bindrid

+0

是的。所以基本上我正在创建一个应用程序,它将从数据库(MySQL)中获取数据并动态显示它。这是一个向避难所展示动物的应用程序,所以它需要能够从本地数据库获取数据,以防更多动物被添加/删除。 –

回答

1

解决方案:

"columnDefs": [{ 
    "defaultContent": "-", 
    "targets": "_all" 
}], 
+1

虽然这可能会回答这个问题,但一些评论和/或解释会很好。这也会帮助其他用户。 – VDWWD

+0

现在它不显示错误,但它不会生成表格,错误,当使用Chrome进行调试时: jquery.dataTables.min.js:65未捕获TypeError:无法读取未定义的属性'aDataSort' W(jquery.dataTables.min.js:65) at ya(jquery.dataTables.min.js:70) at e(jquery.dataTables.min.js:91) at HTMLTableElement。 (jquery.dataTables.min.js:93) at Function.each(jquery.min.js:2) ...... –

相关问题