0

我是 Extjs 的新手。当我尝试将组合框与通过 AJAX 调用填充的商店一起使用时,我遇到了这个问题。我希望组合框显示以在组合框中键入的字符开头的项目,但组合框始终显示列表中的第一项。这是我的代码,

Ext.define('fieldModel', {
        extend : 'Ext.data.Model',
        fields : [ {
            name : 'name'
        },{
            name : 'value'
        }]
    });
    {
                xtype: 'combobox',
                id: 'startField',
                name: 'startField',
                style: 'margin-right:10px;',
                width: 230,
                fieldLabel: 'Field',
                labelAlign: 'top',
                displayField: 'name',
                valueField: 'value',
                triggerAction:'query',
                minChars:2,
                //forceSelection:true,
                //enableKeyEvents:true,
                minListWidth:150,
                //allowBlank:false,
                queryMode: 'remote',
                typeAhead: true,
                //hideTrigger: true,
                store:new Ext.data.JsonStore({
                    model: 'fieldModel',
                    //autoLoad: true,
                    //sortOnLoad : true,
                    //sortRoot: 'data',
                    proxy : {
                        type : 'ajax',
                        url: requesturl + '?action=getDate&itemid='+ preItemId,
                        reader : {
                            type : 'json',
                            root : 'data',
                        }
                    },
                    listeners :{
                        load : function( store, records, successful, operation, eOpts){
                            Ext.getCmp('startField').getStore().sort('name', 'ASC');
                        }
                    }
                }),

请帮忙。

提前致谢。

4

1 回答 1

0

将您的侦听器更改为 keypress 或 keyup 事件

按键(Ext.form.field.Text this,Ext.EventObject e,Object eOpts)

此事件仅在enableKeyEvents设置为 true 时触发。

listeners :{
        keypress : function( text, event, eOpts){
           Ext.getCmp('startField').getStore().sort('name', 'ASC');
        }
   }
于 2012-06-11T07:53:44.417 回答