控制台中的数据表Jquery错误

时间:2013-09-12 21:30:35

标签: javascript jquery datatables

未捕获TypeError:对象[object Object]没有方法'fnFilter'

$(document).ready(function () {

var selectedColumn = $('#columnlist').find(":selected").text();

$('#csearchtext').bind("change paste keyup", function () {
    var input = $('#csearchtext').val();

    console.log(input);

    $('#table_id').fnFilter('',4);
});

$('#dblist').on('change', function () {

    var selected = $('#dblist').find(":selected").text();
    tablefill(selected);

});

$('#search').click(function () {

    var selected = $('#dblist').find(":selected").text();
    tablefill(selected);

});

function tablefill(selected) {
    $('.advsearchbar').show();
    $('#stable').show();

    $('#table_id').dataTable({
        "sAjaxSource": '/php/connect/searchtablequery.php',
        "bProcessing": true,
        "sScrollY": "500px",
        "bDeferRender": true,
        "bDestroy": true,
        "sAjaxDataProp": "",
        "fnServerParams": function (aoData) {
            aoData.push({ "name": "db", "value": selected });
        },
        "aoColumns": [
            { "mData": "calldate" },
            { "mData": "recordingfile" },
            { "mData": "uniqueid" },
            { "mData": "src" },
            { "mData": "did" },
            { "mData": "lastapp" },
            { "mData": "dst" },
            { "mData": "disposition" },
            { "mData": "duration" },
            { "mData": "userfield" },
            { "mData": "accountcode"}],
        "iDisplayLength": 20,
        "bJQueryUI": true,
        "sPaginationType": "full_numbers",
        "sDom": '<"H"Tfr>t<"F"ip>',
        "oTableTools": {
            "sSwfPath": "/DataTables/extras/TableTools/media/swf/copy_csv_xls_pdf.swf",
            "aButtons": [
                "copy", "csv", "xls", "pdf",
                {
                    "sExtends": "collection",
                    "sButtonText": "Save",
                    "aButtons": ["csv", "xls", "pdf"]
                }]
        }
    });
}

});

未捕获TypeError:对象[object Object]没有方法'fnFilter' 我不知道为什么会发生这种情况包含jquery,因为数据表创建得很好。对此的任何帮助都会很棒。

2 个答案:

答案 0 :(得分:3)

你必须使用dataTable对象链接,就像这样..

$('#table_id').dataTable().fnFilter('', 4);

答案 1 :(得分:2)

您需要获取dataTable对象,而不是jQuery对象。

$('#table_id').dataTable().fnFilter('',4);

来自文档:

$(document).ready(function() {
  var oTable = $('#example').dataTable();

  // Sometime later - filter...
  oTable.fnFilter( 'test string' );
} );