Deselect an item from combo on clicking backspace or delete button

154 Views Asked by At

I want to deselect a selected item in extjs multiselect combobox on clicking backspace or delete button in the editable area. I know this is possible in a tag field but my requirement is specifically for combobox. Thanks in advance.

1

There are 1 best solutions below

0
Fabio Barros On

See if that solution with the backspace (char - 8) works for you

Ext.onReady(function() {
var store = Ext.create('Ext.data.Store', {
    fields: ['state_id', 'state_name'],
    data: [
        {state_id: 1, state_name: 'Colorado'},
        {state_id: 2, state_name: 'Maryland'},
        {state_id: 3, state_name: 'Pennsylvania'}
    ]
});
var combo = Ext.create('Ext.form.field.ComboBox', {
    valueField: 'state_id',
    displayField: 'state_name',
    store: store,
    multiSelect: true,
    enableKeyEvents: true,
    value: [1],
    listeners: {
        keydown: function(combo, event, obj) {
            if ((combo.getValue().length>0) && (event.event.keyCode == 8) ){
                var val = combo.getValue();
                val.pop();
                combo.setValue(val);
                event.preventDefault();
                event.stopPropagation();
            }
            return;
        },
    },
    renderTo: Ext.getBody()
});

});