【发布时间】:2011-03-24 17:32:36
【问题描述】:
ExtJS:如何同时提交:组合框值和使用标准提交的文本?
【问题讨论】:
ExtJS:如何同时提交:组合框值和使用标准提交的文本?
【问题讨论】:
要提交 valueField,您必须指定 hiddenName 以创建隐藏输入字段来保存 valueField 的值。您还必须将 submitValue 设置为 true
例如
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'
});
所以你得到作为 unitId 发送的值和作为单位发送的文本
【讨论】:
如果您想提交两个值,则需要两个字段。如果您希望两个字段都由一个字段控制,您应该隐藏一个字段,并在第一个字段更新时更新它:
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']);
}
}
});
【讨论】: