2015-07-07 5 views
0

Я использую Ext 4.1.1ExtJS - машинописная для комбобокса с queryMode «местным» - запрос косяка подстроки

У меня есть выпадающий с машинописным включена queryMode: «локальный». Он отлично работает, пока вы запрашиваете только префикс displayField. Но ничего не происходит, когда вы запрашиваете подстроку в этом поле отображения.

{ 
      xtype:"combo", 
      fieldLabel:"Country", 
      name:"COUNTRY", 
      itemId:"countryFilterFld", 
      labelPad:5, 
      typeAhead:true 
      queryMode:"local",    
      valueField:"ID",     
      displayField:"LABEL", 
       store:store 
} 

Например, одним из LABEL является «Соединенные Штаты». Если я начну вводить «Юнайтед», фильтруется «Соединенные Штаты». Но если я набираю «Штаты», ничего не происходит вообще.

Я также пробовал прослушивать событие «change» comboboxes, затем получить значение и фильтровать хранилище combobox, но событие изменения даже не запускается.

listeners: {   
    change: function(cbo_) { 
    var store = cbo_.getStore();     
    store.clearFilter();     
     store.filter({ 
     property: 'LABEL', 
     anyMatch: true, 
     value : cbo_.getValue() 
    }) 
    } 
}, 

I Установка точки останова в обработчике события изменения, но это событие никогда не уволят, даже после того, как я больше не сосредоточивает свое внимание на этой области.

ответ

2

Использование anyMatch на вашем комбо:

Настройка в качестве true, чтобы согласование набранных символов в любой позиции в стоимости valueField в.

Например:

{ 
     xtype: "combo", 
     fieldLabel: "Country", 
     name: "COUNTRY", 
     itemId: "countryFilterFld", 
     labelPad: 5, 
     typeAhead: true 
     queryMode: "local",    
     valueField: "ID",     
     displayField: "LABEL", 
     store: store, 
     anyMatch: true 
}