2013-11-14 3 views
0

У меня есть сводка, которая имеет конфигурацию 'forceSelection: true'. Пользователь может редактировать combobox, например: введите произвольный текст, а затем сразу нажмите кнопку сброса, чтобы сбросить выпадающее поле, но combobox не будет сброшен до его исходного значения. Как я могу это исправить?Сброс combobox, когда forceSelection = true, и пользователь может редактировать combobox

Вот мой код, чтобы описать проблему:

var states = Ext.create('Ext.data.Store', { 

    fields: ['abbr', 'name'], 

    data : [ 

     {"abbr":"AL", "name":"Alabama"}, 
     {"abbr":"AK", "name":"Alaska"}, 
     {"abbr":"AZ", "name":"Arizona"} 
     //... 
    ] 
    }); 

    Ext.create('Ext.container.Container', { 

    layout: 'hbox', 

    margin: '50', 

    renderTo: Ext.getBody(), 

    items: [ 
     { 
      xtype: 'combobox', 
      margin: '0 10 0 0', 
      fieldLabel: 'Choose State', 
      forceSelection: true, 
      store: states, 
      queryMode: 'local', 
      value: 'AL', 
      displayField: 'name', 
      valueField: 'abbr' 

     }, 
     { 
      xtype: 'button', 
      text: 'reset', 
      handler: function() { 
       this.up('container').down('combobox').reset(); 
      } 
     } 
    ] 
    }); 
    }); 

ответ

1

Привет Plz обновить обработчик кнопки с этим кодом она работает нормально в моем конце даже foreceSelection включен.

     { 
          xtype: 'button', 
          text: 'reset', 
          handler: function() { 
            var combo=this.up('container').down('combobox'); 
            combo.lastSelection ="Alabama"; 
            combo.setRawValue(combo.lastSelection); 
            combo.callParent(arguments) 
          } 
         } 
+0

combo.setRawValue() - это именно то, что мне нужно. Огромное спасибо! –

1

Попробуйте с этим, например ..

   Ext.onReady(function(){ 

        var states = Ext.create('Ext.data.Store', { 

        fields: ['abbr', 'name'], 

        data : [ 

         {"abbr":"AL", "name":"Alabama"}, 
         {"abbr":"AK", "name":"Alaska"}, 
         {"abbr":"AZ", "name":"Arizona"} 
         //... 
        ] 
        }); 

        Ext.create('Ext.container.Container', { 

        layout: 'hbox', 

        margin: '50', 

        renderTo: Ext.getBody(), 

        items: [ 
         { 
          xtype: 'combobox', 
          margin: '0 10 0 0', 
          fieldLabel: 'Choose State', 
          store: states, 
          queryMode: 'local', 
          value: 'AL', 
          displayField: 'name', 
          valueField: 'abbr' 

         }, 
         { 
          xtype: 'button', 
          text: 'reset', 
          handler: function() { 
           this.up('container').down('combobox').setValue("Alabama"); 
          } 
         } 
        ] 
        }); 
       }); 
+0

Спасибо, но я не хочу удалять конфигурацию: «forceSelection: true». –

+0

ok .. позвольте мне проверить и сообщить вам о работе над вашей проблемой. –

Смежные вопросы