ExtJS: How to submit both: combobox value and text using standardSubmit?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
To submit the valueField, you must specify a hiddenName
to create a hidden input field to hold the value of the valueField. You must also set submitValue
to true
e.g.
var unitField = new Ext.form.ComboBox({
id:'unitField',
name: 'unit',
submitValue : true,
fieldLabel: 'Unit',
store:unitStore,
mode: 'remote',
displayField: 'name',
valueField: 'id',
hiddenName : 'unitId',
allowBlank: false,
anchor:'95%',
triggerAction: 'all'
});
So you get the value sent as unitId and the text as unit
回答2:
If you want to submit two values, you will need two fields. If you want both fields to be controlled by one field, you should make one field hidden, and update it when the first is updated:
var hiddenField = new Ext.form.Hidden({
name: 'comboDisplay'
});
var combo = new Ext.form.ComboBox({
xtype: 'combo',
// ...
listeners: {
select: function(combo, record) {
hiddenField.setValue(record.data['display']);
}
}
});