我在extjs4工作。我有代码组合的组合框 -
{
margin:'7 6 5 5',
xtype:'combobox',
fieldLabel:'Language',
name:'language',
id:'combo',
width:190,
allowBlank:false,
emptyText: '--Select language--',
labelWidth: 60,
store: new Ext.data.ArrayStore({
fields: ['id','value'],
data: [
['1','Marathi'],
['2','English']
]
}),
queryMode: 'local',
valueField:'id',
displayField:'value',
editable:false
},
根据我的功能,我想将combobox的值默认设置为用户选择的选项。那么如何从控制器
设置组合框的值答案 0 :(得分:9)
要选择默认值,您可以使用事件侦听器。渲染组合框后,您可以使用setValue()中的Ext.form.field.Field方法设置所需的值,如果您需要根据需要选择组合框值,则可以使用Ext.getCmp('combo')
获取它,然后使用{{3或者甚至更好地设置setValue()而不是id并使用itemId来获取组合框和设置值:
Ext.ComponentQuery.query('#combo')[0].setValue('2');
setValue(value):Ext.form.field.Field 设置指定的值 进入该领域。对于每个值,如果在商店中找到记录 匹配基于valueField,然后该记录的displayField将 在现场显示。如果没有找到匹配,那么 valueNotFoundText配置选项已定义,那将是 显示为默认字段文本。否则将是空白值 显示,虽然值仍将设置。
listeners:{
scope: this,
afterRender: function(me){
me.setValue('1');
}
}
答案 1 :(得分:0)
试试这个:
Ext.getCmp('combo').setValue('1' or '2');