使用Extjs的ComboBox时,因为ComboBox并不是真正的select,所以不会默认选中第一项。通过下面的方法,就可以实现选中第一项的值:
...
var comboStore = new Ext.data.SimpleStore({
fields: ['value', 'text'],
data: []
});
var combobox = new Ext.form.ComboBox({
store: comboStore,
id:'combo',
emptyText: '请选择',
mode: 'local',
triggerAction: 'all',
valueField: 'value',
displayField: 'text',
readOnly: true,
applyTo: 'combobox'
});
comboStore.on('load',function(store,record,opts){
var combo = Ext.getCmp("combo");
var firstValue = store.getRange()[0].data.value;//这种方法可以获得第一项的值
//firstValue = record[0].data.value;//这种方法也可以获得第一项的值
combo.setValue(firstValue);//选中
alert("value="+combo.getValue());//查看选中的value
alert("text="+combo.getRawValue());//查看选中的文本
});
...