2013-08-31 3 views
1

прослушиватель выбирает только один раз. Возвращает и добавляет свойство стрельба: false на втором щелчке. Как я могу предотвратить это?Панельный элемент прослушивателя события клика срабатывает только один раз

вот пример: http://supraliminalsolutions.com/pages/example-apps/campusBuildings/

 xtype: 'combo', 
     store: ds, 
     displayField: 'title', 
     typeAhead: false, 
     hideLabel: true, 
     hideTrigger:true, 
     anchor: '100%', 
     minChars: 1, 
     listConfig: { 
      loadingText: 'Searching...', 
      emptyText: 'No matching buildings found.', 

      // Custom rendering template for each item 
      getInnerTpl: function() { 
       return '<div class="search-item">{name}</div>'; 
      } 
     }, 
     pageSize: 10, 

     // override default onSelect to do redirect 
     listeners: { 
      'select': function(combo, selection) { 
       console.log('you there?'); 
       var building = selection[0]; 
       if (building) { 

        retrieveBuildingInfo(Ext.String.format(env_url + 'building.php?id={0}', building.get('id'))); 
       } 
      }, 
        'expand': function() { 
         Ext.Msg.alert("test","do you see me");// this alert never show, when the combo expanded 
         console.log(this.events.select); 
        } 
     } 

ответ

0

Я просто сбросить форму после того, как логику обработки событий выполняет likeso:

  'select': function(combo, selection) { 
       console.log('you there?'); 
       var building = selection[0]; 
       if (building) { 

        retrieveBuildingInfo(Ext.String.format(env_url + 'building.php?id={0}', building.get('id'))); 
       } 
       this.reset(); 
      }, 

Я не уверен, если это лучший способ сделать это но он работает

+0

У меня такая же проблема с комбо на панели инструментов. Вызов 'this.reset()' сохраняет прослушиватель выбора, но в поле со списком отображается пустое значение ... –