我有以下组合框代码,如何获取在组合框中选择的值并将该值加载到变量中,并在以后使用它。
谢谢
Ext.define('Column', {
extend: 'Ext.data.Model',
fields: ['data1', 'Data2']
});
var store = Ext.create('Ext.data.Store', {
model: 'Column',
autoLoad: true,
proxy: {
type: 'ajax',
url: '/data.xml',
reader: {
type: 'xml',
record: 'result'
}
}
});
var simpleCombo = Ext.create('Ext.form.field.ComboBox', {
store: store,
displayField: 'data1',
valueField: 'data1',
width: 250,
labelWidth: 120,
fieldLabel: 'select a value',
renderTo: 'simpleCombo',
queryMode: 'local',
typeAhead: true
});
最佳答案
只需使用选择事件
var simpleCombo = Ext.create('Ext.form.field.ComboBox', {
store: store,
displayField: 'data1',
valueField: 'data1' ,
width: 250,
labelWidth: 120,
fieldLabel: 'select a value',
renderTo: 'simpleCombo',
queryMode: 'local',
typeAhead: true,
listeners: {
select: function(combo, records) {
// note that records are a array of records to be prepared for multiselection
// therefore use records[0] to access the selected record
}
});
来自评论的额外内容:
看看 multiSelect组合框的属性。您将获得由定义的分隔符分隔的所有值,并且选择事件将为您提供一个包含多个记录的记录数组。请注意,getValue() 只为您提供定义的 displayField,它是一个字符串,而不是记录本身。所以使用 iComboValue[0] 给你第一个字符。应始终使用所选事件访问所选记录。但是您可以将它们存储在一个数组中供以后使用,并用任何新的选择覆盖它。
关于javascript - 如何获取 extjs 组合框的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12116580/