如何在extJS comboBox中设置商店的特定索引值

时间:2018-11-04 18:35:22

标签: javascript extjs combobox

我有一个组合框。

我的要求是,每当我从组合中键入任何键时,该“键”的值就会从商店中过滤出来并设置为组合值。

示例:我在下拉列表中有这些值。

“ ABC”, 'ABBR', '蟋蟀', “足球”

在单击组合键后,如果我键入a,则第一次设置“ ABC”值,第二次设置“ ABBR”值。

这是我的组合代码。

// The data store containing the list of states
var states = Ext.create('Ext.data.Store', {
    fields: ['abbr', 'name'],
    data : [
        {"abbr":"AL", "name":"Alabama"},
        {"abbr":"AK", "name":"Alaska"},
        {"abbr":"AZ", "name":"Arizona"}
    ]
});

// Create the combo box, attached to the states data store
Ext.create('Ext.form.ComboBox', {
    fieldLabel: 'Choose State',
    store: states,
    queryMode: 'local',
    displayField: 'name',
    valueField: 'abbr',
    editable : true,
    renderTo: Ext.getBody()
});

现在,在这种情况下,当我键入任何键时,我将从列表中过滤出该值。但是我不仅要过滤,还希望设置值。

这就是我要尝试的。

listerners:{
    keypress : function(me,e,eopts){
        var store = me.getStore();
        var key = e.event.key;
        var data = store.data.items;
        var results = [];
        for(var i=0; i<data.length; i++){
            if(data[i].index(key) == 0){
                results.push(data[i]);
            }
        }
    }
}

现在,所有从该键开始的值都存储在result中。但是我不知道如何将结果中的值设置为组合存储。

任何帮助都会很感激。

0 个答案:

没有答案