ExtJS: How to submit both: combobox value and text

2020-04-15 06:46发布

ExtJS: How to submit both: combobox value and text using standardSubmit?

2条回答
老娘就宠你
2楼-- · 2020-04-15 07:19

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']);
        }
    }
});
查看更多
干净又极端
3楼-- · 2020-04-15 07:26

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

查看更多
登录 后发表回答