Extjs 5网格过滤器+ RegExp

时间:2015-08-10 14:41:42

标签: javascript regex extjs filter grid

我有一个带过滤器的简单网格。如果我在过滤器上使用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; }); },
}

1 个答案:

答案 0 :(得分:0)

您的val变量是RegExp对象,而不是字符串。您正尝试将字段值与RegExp个对象进行比较:)

尝试:

store.filterBy(function(rec) {
    return val.test(rec.get('first_name')) || val.test(rec.get('last_name'));
})