我有一个带过滤器的简单网格。如果我在过滤器上使用regexp,则过滤器不起作用。如果我没有在过滤器上使用regexp,那么过滤器正在工作。:-)我的代码在哪里出错?
这是我的正则表达式+过滤器代码:
我的简单文字字段:
{
xtype: 'textfield',
id: 'users_gridfilter',
name: 'users_gridfilter',
size: 20
}
我有一个按钮监听器:
listeners: {
click: function(){
var store = Ext.getCmp('users').getStore(),
val = new RegExp(Ext.getCmp('users_gridfilter').getValue(), "i");
store.filterBy(function(rec){
return rec.get('first_name') === val ||
rec.get('last_name') === val; }); },
}
答案 0 :(得分:0)
您的val
变量是RegExp
对象,而不是字符串。您正尝试将字段值与RegExp
个对象进行比较:)
尝试:
store.filterBy(function(rec) {
return val.test(rec.get('first_name')) || val.test(rec.get('last_name'));
})