Изменение значения поля со списком Ext.form.ComboBox Ext JS

У меня возникли небольшие проблемы с установкой значения поля со списком в коде.

У меня есть следующее поле выбора

new Ext.form.ComboBox({
             id: 'address_type',
             name: 'address_type',
             editable: false,
             disableKeyFilter: true,
             forceSelection: true,
             fieldLabel: 'Type',
             emptyText: 'Please Select',
             triggerAction: 'all',
             mode: 'local',
             store: new Ext.data.SimpleStore({
              id: 0,
              fields: ['value', 'text'],
              data : [['Home', 'Home Address'], ['Work', 'Work Address']]
             }),
             valueField: 'value',
             displayField: 'text',
             hiddenName: 'address_type'
            })

Так что, если бы я выполнил:

Ext.getCmp('address_type').setValue('Work')

Будет ли установлено значение поля выбора «Рабочий адрес»? Однако это не работает.

Любые советы приветствуются, спасибо.


person roobotta    schedule 28.06.2010    source источник


Ответы (1)


Проблема может заключаться в том, что вызов Ext.getCmp не работает, потому что вы определили идентичные id и hiddenName для ComboBox.

В документации API ExtJS (теперь Sencha) указано следующее:

hiddenName : Строка

Если указано, скрытое поле формы с этим именем создается динамически для хранения значения данных поля. ...

Примечание: идентификатор скрытого поля также по умолчанию будет иметь это имя, если hiddenId не указан. Идентификатор ComboBox и hiddenId должны быть разными, поскольку никакие два узла DOM не должны иметь один и тот же идентификатор. Таким образом, если имя ComboBox и hiddenName совпадают, вы должны указать уникальный hiddenId.

Итак, вы должны попытаться дать вашему Combobox уникальный hiddenId и посмотреть, сработает ли он тогда.

person Tommi    schedule 29.06.2010
comment
Аааа! Я должен был посмотреть немного ближе на документы! Спасибо большое. - person roobotta; 29.06.2010