jQuery Bootgrid搜索错误

jQuery Bootgrid search error

本文关键字:错误 搜索 Bootgrid jQuery      更新时间:2023-09-26

我正在从ajax回调中向表添加数据。

// ajax
...
success: function(data) {
 $("#some-table").bootgrid("append", data.rows);
},
..

一切正常,除了搜索。

搜索对单个字母有效,但对其他字符抛出此错误,使其无法使用。

Uncaught TypeError: Cannot read property 'search' of null

它来自于lib

中的这个函数
function loadData()
    {
        var that = this;
        this.element._bgBusyAria(true).trigger("load" + namespace);
        showLoading.call(this);
        function containsPhrase(row)
        {
            var column,
                searchPattern = new RegExp(that.searchPhrase, (that.options.caseSensitive) ? "g" : "gi");
            for (var i = 0; i < that.columns.length; i++)
            {
                column = that.columns[i];
                if (column.searchable && column.visible &&
                    column.converter.to(row[column.id]).search(searchPattern) > -1) // this is where it breaks
                {
                    return true;
                }
            }
            return false;
        }

如果你有这种问题,你可以在bootgrid中设置搜索属性。

例如:

searchSettings: { delay: 250, characters: 30(just increase the character) }

现在你可以搜索,但你必须输入关键字。这就像在玩剧本记忆。但这是最简单的方法。