вторник, 4 октября 2011 г.

Очистка combobox extjs

При написании на extjs поисковичка город -> улица возникла проблемка - не работала очистка пунктов combobox-a.

Последовательность действий:
1. нахожу и выбираю город
2. нахожу и выбираю улицу
3. очищаю город и улицу
4. ввожу в combobox улица первые буквы улицы (выбранной в пункте 2)
5. результат на кртинке







Сам combobox:


 streetCombo = new Ext.form.ComboBox({
id : 'streetCombo',
store: streetStore,
displayField: 'NAME',
emptyText: '',
valueField: 'ID',
width: 150,
loadingText: 'Поиск...',
minChars: 2,
valueNotFoundText: '',
listWidth :145,
mode : 'remote',
queryDelay: 500,
enableKeyEvents  : true,
//bug fix of double esc
listeners: {'specialKey': function(field,e) {
   if (e.getKey() == e.ESC) {
    e.preventDefault();
     }
   }
 },
renderTo: 'streetPanel'
});
 cityStore.on('beforeload', function(){
           cityStore.baseParams.countryId = document.getElementById('country_id').value;
  document.getElementById('address_city_id').value = '';
  document.getElementById('streets').value = '';
  streetCombo.clearValue();
}
);

Решение было следующим в событие "beforeload" добавил следующие 2 строчки:
streetCombo.store.removeAll();
streetCombo.lastQuery = null;

Комментариев нет:

Отправить комментарий