分享我在做ComboBox时遇到的点滴问题及经验:一些属性,方法肤浅的理解和使用
sotre,id,name,hiddenName,valueField,displayField,
baseParams,getRowValue(),getValue()
xtype:'combo',
id:'comboId',//combo控件的id
name:'comboName'//combo的name啦
mode:'local',//这里,并不是说通过HttpProxy去访问得到数据就设置remote的.反而,这里设置了remote 读不到数据了...囧
triggerAction:'all',
valueField : 'id',//这里的id
displayField:'text',//和这里的text,要和下面的 fields对应...
hiddenName:'hidName',//这个值很重要..
store:new Ext.data.JsonStore({
id:'i_am_jsonstore',
proxy:new Ext.data.HttpProxy({url:""}),
baseParams:'',//这里可以写 'aid=520' 也可以写{'aid':520}
fields:['id','text'],//我理解就是,给store里的数据规定格式和需要的字段.规定了字段,就方便读取了 这里是参数的形式存在,可以是abc,def
autoLoad:true,//设置了,渲染combobox时就会load...
}),
listeners:{
'select' : function(_combo, _record, _index){
alert(_combo.getRawValue());//对应的就是displayField指向的值
alert(_combo.getValue());//对应的就是valueField指向的值
alert(_combo.store.id);//弹出i_am_jsonstore,在API里面,是没有getStore()的方法的,但它却能直接点出来...囧
alert("id="_record.get('id')+" text="+_record.get('text'));//这个时候,id和text的作用就出来了
}
}
JsonStore的数据格式是 [{'id':1,'text':'小明'},{'id':2,'text':'小红'}]
如果是SimStore的数据格式是[['1','小明'],['2','小红']];
当选择了第一条记录,在提交之后,在request可以看到
comboName:小明
hidName:1
请各位指正,并不断更新...