TypeError:f未定义

时间:2016-05-20 04:59:10

标签: javascript jquery datatables

我正在创建一个dataTable,其中表的数据完全来自数据库。我试着用以下方式: HTML:

<div class="col-sm-10">
                <table border="0" cellpadding="0" cellspacing="0" width="100%" id="invoice_table" class="table table-bordered table-colstriped table-hover display">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <th>Name</th>
                            <th>Chain Name</th>
                            <th>Type</th>                       
                            <th>Amount</th>
                            <th>Billable Amount</th>
                        </tr>
                    </thead>
                    <tbody>
                    </tbody>
                </table>
            </div>

jQuery的:

 function year_month(year_month) {
                     jQuery("#invoice_table").dataTable({
                        "sAjaxSource": "invoice-request-db.php?mode=invoice_dataTable&year_month=" + jQuery("#year_month").val(),
                        "bDestroy": true,
                        "bPaginate": false,
                        "bInfo": false,
                        "bFilter": false,
                        "bSort": false
                    });
                }

我必须传递一个数据,即年份和网址,以便根据我选择的年月更改数据表。但是,当我尝试使用它时,我得到&#34; TypeError:f未定义&#34;,它在jquery.dataTables.min.js中显示。这有什么不对?我应该纠正什么?

5 个答案:

答案 0 :(得分:3)

jQuery代码出错替换为此。 dataTable({未关闭

 jQuery("#invoice_table").DataTable({
    "sAjaxSource": "invoice-request-db.php?mode=invoice_dataTable",
    "bDestroy": true,
    "bPaginate": false,
    "bInfo": false,
    "bFilter": false,
    "bSort": false
}); 

答案 1 :(得分:2)

确保包括jquery.dataTables.min.js 我遇到了同样的问题,经过几个小时的调试后,我意识到我包括dataTables.bootstrap.min.js而不是

答案 2 :(得分:0)

这里有语法错误。

jQuery("#invoice_table").dataTable({
    "sAjaxSource": "invoice-request-db.php?mode=invoice_dataTable",
    "bDestroy": true,
    "bPaginate": false,
    "bInfo": false,
    "bFilter": false,
    "bSort": false
    //}   <--------------------- You need to remove this. It's an extra bracket
});

答案 3 :(得分:0)

如果未初始化dataTable的参数,通常会发生此Javascript错误。

解决方案:

在notePad中打开datatables.bootstrap.min.js并将这两行写在此行之后

var f = b.fn.dataTable;

// Code to Insert start
if(typeof f === "undefined")
return null;
// Code to insert End

以上

答案 4 :(得分:0)

如果表列与您的数据元素不匹配,也会发生这种情况(我删除了一个元素,但忘记删除该列,这是导致此错误的原因)。