extjs单字符的Combobox预先输入/自动选择

时间:2011-06-02 12:38:12

标签: extjs combobox extjs4

我正在使用extjs组合框用于性领域。它有两个值“M”和“F”。我想让它可用于键盘:

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

如果我输入“F tab ”(大写),而不是“f tab ”(小写),则此方法有效。如果我检查代码,那么预先输入:

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

有什么方法可以将值保持为“M”并且小写有效?

3 个答案:

答案 0 :(得分:3)

不确定你是否想出了这个,但我遇到了类似的问题并找到了解决方案:

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

我还有一个网格让我对组合框中的简单是/否类型选择感到悲伤。我已经搜索了高低的答案,但想出了这个黑客。

希望它有所帮助!

答案 1 :(得分:3)

将组合框'caseSensitive'配置属性设置为false(caseSensitive:false)。这应该可以解决问题。

答案 2 :(得分:-1)

您可以使用

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

其中appMessage是传递的消息变量,并且字段值字段用于检查特殊情况。