2015-08-13 2 views
0

Это мой второй раз. Я отправляю тот же вопрос, что и до сих пор не получил ответа.Невозможно выбрать элемент, введя внутри combobox

У меня есть выпадающий и следующее хранилище (ExtJs 2,3)

Combo Магазин:
Отчисления
Встречи
Зарплата

Я фильтрование комбо на ключ так, чтобы " Зарплата "не будет отображаться в списке, и он отлично работает. Но поскольку элемент combobox также можно выбрать, набрав iside combobox, я написал следующий код на keyUp и beforeQuery комбо.

keyup: function() { 
    combo2.selectedIndex = -1; 
    combo2.store.clearFilter(); 
    combo2.store.filterBy(function (record) { 
      return record.get('text') != 'Salary'; 
    }); 
} 

beforequery: function (queryEvent) { 
    var combo1Val = combo.value; // Give the selected value correctly 
    if (combo1Val == 'Student' && combo2.store.isFiltered()) 
    { 
     queryEvent.combo.expand(); 
     queryEvent.combo.onLoad(); 
     return false; 
    } 
    return true; 
} 

Это отфильтровывает опцию «ЗАРПЛАТА» успешно, но теперь я не могу выбрать любой вариант, введя внутри выпадающий, как и раньше, т.е. теперь, если я типа «Как», он не выбирает «задание» вариант больше. Что я здесь делаю неправильно?

+0

Ьги скрипки определенно я могу вам помочь – Raghavendra

+0

я получаю создание скрипки в ExtJS 2.3 –

+0

на KeyUp доне проблемы, т ясно ExtJS фильтра автоматически очищает его. поэтому ваш код должен быть combo2.store.filterBy (функция (запись) { return record.get ('текст')! = 'Зарплата'; }); – Raghavendra

ответ

0

Вы пытались использовать typeAhead? что-то вроде this--

{ 
       xtype: 'combobox', 
       name: 'address', 
       id: 'addressId', 
       store: Ext.create('myStore'), 
       valueField: 'fullAddress', 
       displayField: 'name', 
       minChars: 2, 
       typeAheadDelay: 100, 
       typeAhead: true, 
       emptyText: 'Select Address', 
       listEmptyText: 'error loading list!', 
       width: 300 
      } 
Смежные вопросы