EXT combbox 下拉问题

1.使用simplestore正常
2.使用远程数据,设置triggerAction:'all',正常
3.使用远程数据,设置triggerAction:'query',读不出数据
4.使用远程数据,设置triggerAction:'query',在combobox中输入4个字符可加载到数据,但没有筛选功能
[code="java"]
var employee_store = new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:"../Process/Form_cli_e.ashx"}),
reader: new Ext.data.JsonReader({
//remote:true,
totalProperty:'totalProperty',
root:'root',
id:'employee_store'
},[
{name: 'ry_name'},
{name: 'ry_gh'}
])
});
function cli_e(){
var cli_e_box = new Ext.form.ComboBox({
mode:'remote',
idname:'cli_E',
name:'cli_E',
displayField:'ry_name',
valueField:'ry_gh',
store:employee_store,
typeAhead:false,
triggerAction:'query'
});
return cli_e_box;
}
[/code]

combo.js
[code="js"]Ext.ns('Example');

Example.comboConfig = {
xtype:'combo'

// we need id to focus this field. See window::defaultButton
,id:'combo'

// we want to submit id, not text
,valueField:'persID'
,hiddenName:'persID'

// could be undefined as we use custom template
,displayField:'persLastName'

// query all records on trigger click
,triggerAction:'all'

// minimum characters to start the search
,minChars:2

// do not allow arbitrary values
,forceSelection:true

// otherwise we will not receive key events
,enableKeyEvents:true

// let's use paging combo
,pageSize:5

// make the drop down list resizable
,resizable:true

// we need wider list for paging toolbar
,minListWidth:220

// force user to fill something
,allowBlank:false

// store getting items from server
,store:new Ext.data.JsonStore({
     id:'persID'
    ,root:'rows'
    ,totalProperty:'totalCount'
    ,fields:[
         {name:'persID', type:'int'}
        ,{name:'persLastName', type:'string'}
        ,{name:'persFirstName', type:'string'}
    ]
    ,url:'process-request.php'
    ,baseParams:{
         cmd:'getData'
        ,objName:'person2'
        ,fields:'["persLastName","persFirstName"]'
    }
})

// concatenate last and first names
,tpl:'<tpl for="."><div class="x-combo-list-item">{persLastName}, {persFirstName}</div></tpl>'

// listeners
,listeners:{
    // sets raw value to concatenated last and first names
     select:function(combo, record, index) {
        this.setRawValue(record.get('persLastName') + ', ' + record.get('persFirstName'));
    }

    // repair raw value after blur
    ,blur:function() {
        var val = this.getRawValue();
        this.setRawValue.defer(1, this, [val]);
    }

    // set tooltip and validate
    ,render:function() {
        this.el.set(
            {qtip:'Type at least ' + this.minChars + ' characters to search in last name'}
        );
        this.validate();
    }

    // requery if field is cleared by typing
    ,keypress:{buffer:100, fn:function() {
        if(!this.getRawValue()) {
            this.doQuery('', true);
        }
    }}
}

// label
,fieldLabel:'Combo'

};

// main entry point
Ext.onReady(function() {
Ext.QuickTips.init();

// invalid markers to sides
Ext.form.Field.prototype.msgTarget = 'side';

// create and show window
var win = new Ext.Window({
     id:'combo-win'
    ,title:Ext.fly('page-title').dom.innerHTML
    ,layout:'fit'
    ,width:300
    ,height:150
    ,closable:false
    ,border:false

    // let window code to focus the combo on show
    ,defaultButton:'combo'
    ,items:{
         xtype:'form'
        ,frame:true
        ,defaults:{anchor:'-20'}
        ,items:[{
             xtype:'textfield'
            ,fieldLabel:'Dummy Field'
        }
            ,Example.comboConfig
        ]
    }
});

win.show();

}); // eo onReady
[/code]

combo.html:

[code="html"]











Combo with Remote Store by Saki



&lt;!--<br> google_ad_client = &quot;pub-2768521146228687&quot;;<br> /* 728x90, for examples ifram */<br> google_ad_slot = &quot;5477402227&quot;;<br> google_ad_width = 728;<br> google_ad_height = 90;<br> //--&gt;<br>
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"><br>

<?if("examples.extjs.eu"===$_SERVER["SERVER_NAME"]){$page='combo';include("stats.php");}?>

[/code]

先找出是不是服务器的问题
断点跟踪提交到服务器上的参数,
执行结果,
需要返回到页面的值。

再来看是不是EXT哪个地方写错了。

triggerAction 用all表示把下拉框列表框的列表值全部显示出来,如果用query,如果你做了一次选择,第二次再去用,按第一次输入的值,它只显示匹配出来的。