title: Clearing Combo Box with Remote Store after Select All + Delete / Backspace in IE
body: <p>I have an ExtJS combo box (of version 4.1) with a remote store. There is a requirement to clear the combo box and store when the combo box is emptied. </p>
  
  <p>To do this, I implemented a function that clears the combo box and store on keypress and change events (see code below). </p>
  
  <p>However, the combo box refuses to empty itself when a user selects all (shift+home if the cursor is at the end or shift+end if the cursor is at the beginning) and then presses backspace / delete. In such case, the combo box always populates itself with the last selected value when it loses focus. This happens only in IE (which my clients use).</p>
  
  <p>Any idea how to prevent the combo box from doing that?</p>
  
  <p>Code snippet below:</p>
  
  <pre><code>// clearExistingInput function (called from combo box)
  clearExistingInput: function(ths, newVal) {
      if(newVal === null){
          ths.store.removeAll();
          ths.clearValue();
      }
  }
  
  // combo box configuration
  {
      labelAlign : 'right',
      xtype: 'combo',
      store: comboStore,
      filterOnLoad: true,
      typeAhead: true,
      hideTrigger:true,
      minChars :1,            
      size:15,
      queryDelay: 20, 
      queryCaching: false,
      // enable paging with width that fits the paging toolbar
      matchFieldWidth: false,
      listConfig: {
          width: 220,
          height: 300, 
          autoHeight: true
      },
      maxWidth: 35,
      pageSize: true,
  
      enableKeyEvents:true,
      listeners:{
          'keypress':function(ths,e){ 
              if (e.getKey() == e.DELETE || e.getKey() == e.BACKSPACE) {
                  this.up('formFilter').clearExistingInput(ths, ths.value);
              }
           },
          'change': function(ths,newVal,OldVal,eOpts){
              this.up('formFilter').clearExistingInput(ths, newVal);
          }
      }
  }
  
  // combo box store
  comboStore = Ext.create('Ext.data.Store', {
        pageSize: 10,
        autoLoad: false,
        proxy: {
              type: 'ajax',
              url : 'Service/data',
              reader: {
                  type: 'json',
                  root: 'data'
              }
          },
          fields: [
            {name: 'data', type : 'String'}
          ]
  });
  </code></pre>