使用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());//查看选中的文本
});
...
本文介绍如何在Extjs的ComboBox组件加载完毕后自动设置第一项为选中状态。通过监听SimpleStore的'load'事件,获取到ComboBox组件,并设置其value属性为store中的第一条记录的值。
1398

被折叠的 条评论
为什么被折叠?



