1

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;
        }
4

1 に答える 1

0

この種の問題がある場合は、bootgrid で検索プロパティを設定できる場合があります。

例えば ​​:

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

これで検索できるかもしれませんが、キーワードを入力しました。スクリプトメモリで遊んでいるようなものです。しかし、それを行う最も簡単な方法です。

于 2015-08-17T09:51:37.827 に答える