jquery datatables:无法获取未定义或空引用的属性'fnFilter'

时间:2015-08-20 07:59:11

标签: jquery datatable datatables

我在我的应用程序中使用jquery数据表。下面是我的JS。

$(document).ready(function() {
    configureSearchDataTable(); 
    bindSearchEvents();     
});

function bindSearchEvents(){
    $('#searchBtn').bind('click',function(event) {          
        var searchCriteriaDelimiter = "#";                                          
        searchResultsTable.fnFilter($('#Name').val()+searchCriteriaDelimiter+$('#Id').val());
        $('#searchResults').show();                 
    });
}

var searchResultsTable;
function configureSearchDataTable(){    
    searchResultsTable = $("#searchResultsTable").dataTable({
        "bServerSide": true,
        "sAjaxSource": "allSearchAjaxResults.form",
        "bProcessing": false,       
        "sPaginationType": "full_numbers",
        "oLanguage": {"sEmptyTable": "No data available", "sLengthMenu" :" _MENU_ items per page",
        "sInfo": "Showing _START_ to _END_ of _TOTAL_ records",
        "sInfoEmpty": "No entries to show"},
        "sDom": 'tlip',
        "aoColumns": [{ "bVisible": false },null,null,null,{ "bVisible": false }]
    });
}

在页面加载时给出错误为“无法获取未定义或空引用的属性'fnFilter'”。不知道这里有什么不对。

由于

1 个答案:

答案 0 :(得分:0)

正如您所说,在调用函数bindSearchEvents之前,您已到达函数configureSearchDataTable这意味着,变量searchResultsTable从未初始化(searchResultsTablenull )。在尝试null.anything时,我们会收到错误Unable to get property 'anything'

我猜你有另一个地方,你调用函数bindSearchEvents在函数中放置断点并检查它的调用位置。