1

可能重复:
从组合框中删除键入光标

要从组合框中删除打字光标,我需要禁用输入,它是组合框的一部分并且一直显示。问题是我尝试了不同的方式和表达方式,并没有达到目的。请问有人可以帮我解决我的问题吗?

组合框 id 是 bu-encodingcount-combobox。需要的输入在 bu-encodingcount-combobox>bu-encodingcount-combobox-bodyEl>input 我尝试了下一个表达式

var some = Ext.query('#bu-encodingcount-combobox-bodyEl > input');
Ext.get(some).set({disabled:'disabled'});
4

1 回答 1

4

您看到光标的原因是因为组合框获得焦点,因此处理此问题的最简单方法是在组合获得焦点时将焦点移动到下拉选择器上。

只需将此onFocus配置添加到您的组合框配置中:

// example combobox config
xtype: 'combo',
allowBlank: false,
forceSelection: true,
valueField:'id',
displayField:'name',
store: myStore,

// add this "onFocus" config
onFocus: function() {
    var me = this;

    if (!me.isExpanded) {
        me.expand()
    }
    me.getPicker().focus();
},

Also, I would only recommend doing this if this is a forceSelection: true combobox. It will ruin a users ability to type anything into the field.

于 2012-08-01T17:33:50.923 回答