Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove typing cursor from combobox

I am using an ExtJS combobox. There is a typing cursor when focusing on the combobox. I tried to implement editable: false when creating the combobox, but it helped only for chrome.

Also tried clearListeners() function to see if this works on that cursor - didn't help, it still appears in FireFox and IE.

The other idea is to set disabled on the input field in combobox. When I did it manually, it helped.

But when I wrote the next

Ext.get('bu-encodingcount-combobox').select('input').set({disabled:'disabled'});

it didn't help - don't know, maybe the expression is wrong.

like image 236
me1111 Avatar asked Aug 01 '12 11:08

me1111


3 Answers

The reason you see a cursor is because the combobox gets the focus, so the easiest way to handle this is to move the focus onto the drop down picker whenever the combo gets the focus.

Simply add this onFocus config to your combobox configuration:

// 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.

like image 89
egerardus Avatar answered Sep 28 '22 06:09

egerardus


You can add the config,

editable:false

Then behaves as the normal Combo .

like image 33
Anish Karunakaran Avatar answered Sep 28 '22 08:09

Anish Karunakaran


Try -

For IE

combo.inputEl.set({disabled:'disabled'});

For Firefox -

combo.inputWrap.set({disabled:'disabled'});

For Chrome -

combo.inputCell.set({disabled:'disabled'});
like image 24
Kanchan Avatar answered Sep 28 '22 08:09

Kanchan