2012-06-10 3 views
0

Extj를 처음 사용했습니다. 내가 AJAX 호출을 통해 채워진 저장소와 콤보 상자를 사용하려고 할 때이 문제에 직면하고있다. 나는 콤보 상자가 도와주세요항상 첫 번째 요소가 선택된 Extjs 콤보 상자

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'); 
         } 
        } 
       }), 

내 코드는 콤보 상자에 입력 한 문자로 시작하지만, 콤보 상자가 항상 list.Here의 첫째 항목을 보여주는 항목을 표시합니다. 사전에

감사합니다.

답변

0

변화 당신의 키를 누를 수있는 리스너 또는의 keyup 이벤트

키를 누를 수 (Ext.form.field.Text이는 Ext.EventObject 전자, 개체 eOpts)

이 이벤트에만 화재 enableKeyEvents가 true로 설정되어있는 경우에.

listeners :{ 
     keypress : function(text, event, eOpts){ 
      Ext.getCmp('startField').getStore().sort('name', 'ASC'); 
     } 
    } 
관련 문제