要求通过按钮单击而不是默认的自动完成来进行 SlickGrid 过滤,所以我修改了 updateFilter() 方法('#display' 是按钮 ID):
$('#display').click(function() {
updateFilter();
});
function updateFilter() {
theString = $('#txtSearch').val();
while(theString.substring(0,1)==" ")
theString = theString.substring(1, theString.length);
searchString = new String(theString);
dataView.setFilterArgs({
searchString:searchString,
});
dataView.refresh();
}
很简单...我只是在单击按钮时获取文本框中的值,然后确保它是一个字符串并将其传递给“searchString”进行处理。您会注意到,我还必须修剪前导空格,否则过滤器将始终无法第一次通过。例如,Firebug 跟踪将显示“57”,而不是实际的“57”。这将导致返回清除网格(我假设因为它无法匹配前导空格)。要求还需要一个“清除过滤器”链接来重置过滤器(包括“#txtSearch”文本框)。过滤器在清除后将始终工作,并且跟踪显示没有前导空格。theString 和 searchString 都在脚本 (="") 的顶部进行了初始化。我的问题是,