Как отправить поле значения в поле со списком в Extjs 4? - PullRequest
2 голосов
/ 27 января 2012

Я использую Extjs 4.0.7 и с трудом могу получить combobox в formPanel до submit fieldValue выбранной опции на combobox.

Насколько я могу судить, это обычно достигается установкой параметра конфигурации hiddenName на значение, которое вы хотите, чтобы оно представляло как;например, использование скрытого поля в html, но теперь опция hiddenName, похоже, удалена из документации, без каких-либо очевидных альтернатив.

Итак, как мне продолжить отправку моего formPanel со значением valueField в Extjs 4?

Это фрагмент моего приложения, где я определяю один из выпадающих списков:

xtype: 'combobox',
        name: 'shift',
        hiddenName: 'shiftid',
        id: 'shiftCombobox',
        fieldLabel: 'Shift',
        labelWidth: 30,
        width: 130,
        margin: '0 5',
        cls: 'shift',
        store: shiftStore, 
        autoSelect: true,
        queryMode: 'local',
        displayField: 'name',
        valueField: 'objectid',
        autoSelect: true,
        handler: function() {
            //changeShift(); 
        }

, и это модель, которую shiftStore использует:

Ext.define('shiftModel', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'objectid', type: 'int'},
        {name: 'name', type: 'string'}
    ]
});

1 Ответ

0 голосов
/ 28 января 2012

Я забыл об этом коде:

autoLoad: {
        //The callback here is needed to fix a bug and set a default value in the combobox. 
        scope: this,
        callback: function() {
            var comboBox = Ext.getCmp("teamCombobox");
            var store = comboBox.store;

            // set the value of the comboBox here
            comboBox.setValue(store.getAt('0').get('name'));
        }
    }

, который обновляет combobox в combobox хранилищах autoLoad, чтобы использовать значение по умолчанию при загрузке.Я установил значение name , которое является displayValue.Установка значения на соответствующее fieldValue, в моем случае поле с именем objectid

После того, как я установил его следующим образом, оно работает:combox отправляет реальное fieldValue вместо текстового значения, которое я случайно установил.

Я все еще хотел бы знать, есть ли какой-нибудь способ контролировать это все же.

...