2011-06-02 14 views
8

Seks alanları için extjs combobox kullanıyorum. İki değer "M" ve "F" var. (Büyük harf) "S sekmesini" yazarsanızextjs Tekli karakter için Combobox typeahead/otomatik seçimi

{ 
    xtype: 'combo', 
    typeAhead: true, 
    queryMode: 'local', 
    minChars: 1, 
    triggerAction: 'all', 
    store: [ 
      ['M', 'M'], 
      ['F', 'F'] 
    ] 
} 

Bu işler, ancak "f sekmesi" (küçük harf): Ben klavye ile kullanılabilmesi istiyorum. Bunun için kod işaretlerseniz, typeahead çalışır: "M" olarak değerini tutmak ve küçük eserler olması

store: [ 
    ['M', 'Male'], 
    ['F', 'Female'] 
] 

Herhangi yollar?

+1

Kullandığınız tarayıcıyı ve Ext sürümünü doğrulayabilir misiniz, Ext 4.0.0 ve 4.0.1 ile test ettik. 4.0.1'de uygun olan küçük bir hata var. –

+0

Hatayı, Chrome'daki 4.0.1'deki en son sürümde gördüm (en yeni dev, 13.something) ve IE9. –

+0

Bunu önemli olduğu takdirde bunu bir editorgrid'de kullanıyorum. [Tab] 'a bastığımda değer sıfırlandı. –

cevap

3

emin değil bu bir anladım ama çözüm benzer bir sorun vardı ve bulursa:

enableKeyEvents : true, 
forceSelection : true, 
typeAhead : false, 
    listeners : 
    { 
     'keyup' : function(me) 
     { 
      var val = me.getRawValue(); 
      if(val == 'm' || val == 'f') 
       me.setValue(val.toUpperCase()); 
     } 
    } 

Ben de/hayır türü seçim basit evet bana keder veriyordu bir ızgara vardı bir combobox. Bir cevap için yüksek ve düşük arama yaptım, ama bu hack ile geldi.

Umut eder!

+0

JQuery'e geçiş yaptım. Bence işe yarıyor ama istediğim kadar temiz değil. –

3

combobox 'caseSensitive' config özniteliğini false (caseSensitive: false) olarak ayarlayın. Bu sorunu çözmeli.

-1

Sen özel dava için kontrol edilmesi alanın değerini appMessage geçirilen mesaj değişken olduğu

listeners: { 
    'specialkey': function(field, e) { 
    if (e.getKey() == e.ENTER) { 
     me.searchList(appMessage); 
    } 
    } 
} 

kullanın ve saha edebilirsiniz.