我将数据从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;
}
答案 0 :(得分:0)
如果遇到此类问题,您可以在bootgrid中设置搜索属性。
例如:
searchSettings: { delay: 250, characters: 30(just increase the character) }
现在您可以搜索,但输入了关键字。它就像玩脚本记忆一样。但这是最简单的方法。