我遵循本指南: http://www.ahmed-samy.com/php-codeigniter-full-featrued-jquery-datatables-part-1/
他们的剧本是:
<script type="text/javascript">
$(document).ready(function () {
var oTable = $('#big_table').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": '<?php echo base_url(); ?>index.php/subscriber/datatable',
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"iDisplayStart ": 20,
"oLanguage": {
"sProcessing": "<img src='<?php echo base_url(); ?>assets/images/ajax-loader_dark.gif'>"
},
"fnInitComplete": function () {
//oTable.fnAdjustColumnSizing();
},
'fnServerData': function (sSource, aoData, fnCallback) {
$.ajax
({
'dataType': 'json',
'type': 'POST',
'url': sSource,
'data': aoData,
'success': fnCallback
});
}
});
});
</script>
这是我的剧本:
<script>
$(document).ready(function() {
var oTable = $('#ManageForms').dataTable({
"bServerSide":true,
"bProcessing":true,
"bJQueryUI": true,
"sPaginationType": "full_numbers",
//"bFilter":true,
"sServerMethod": "POST",
"sAjaxSource": "{{base_url()}}admin/configurations/listForms_DT/",
"iDisplayLength": 2,
// "aLengthMenu": [[2, 25, 50, -1], [2, 25, 50, "All"]],
// "sEcho": 1,
/* "columns":[
{data:"FormName"},
{data:"FormPath"},
{data:"FormCIPath"},
{ "data": null,
"defaultContent": "<button>Edit</button>",
"targets": -1
}
],*/
'fnServerData' : function(sSource, aoData, fnCallback){
$.ajax ({
'dataType': 'json',
'type' : 'POST',
'url' : sSource,
'data' : aoData,
'success' : fnCallback
}); //end of ajax
}
});
} );
</script>
在教程中,他们没有使用列,并且即使搜索,表格也能正常工作,但是如果我不使用已经注释掉的列,我会收到此错误:
DataTables警告:table id = ManageForms - 请求的未知参数 &#39; 0&#39;对于第0行。有关此错误的详细信息,请参阅 http://datatables.net/tn/4
如果我使用列,数据表工作正常,但我的搜索不起作用。为什么使用列对我来说很重要,但在教程中他们没有?
答案 0 :(得分:1)
你在哪里制作桌子?
$this->table->generate();
此外,要搜索(过滤),您需要附加:
fnSetFilteringDelay(700); //delay amount