2013-11-21 5 views
1

Я использую ExtJs 4 и в своем веб-приложении у меня есть поле со списком. Раньше я использовал значение по умолчанию для поля со списком, используя emptyText. Он работает отлично. Но есть ли альтернативный способ установить значение по умолчанию для этого же?Значение по умолчанию для поля ExtJs Combo без использования emptyText

я здесь посмотрел на различные вопросы на SO и попытался следующее - Тем не менее, это не кажется

Ext.getCmp('myComboBoxID').setValue("myValue"); 

это работает. Я также попробовал простой атрибут value безрезультатно. Как установить значение по умолчанию, отличное от emptyText?

Кроме того, когда значение установлено с помощью emptyText, оно отображается серым цветом (что плохо видно), мне было интересно, можно ли работать с непрозрачностью поля выбора ExtJs?

Обновление: Я использовал Ext.getCmp('myComboBoxID').setRawValue("myValue");, чтобы установить значение & Это сработало. В чем разница между setValue() & setRawValue()?

+0

ComboBox 'setValue' переопределяет метод в' Ext.form.field.Field ', который запускает событие 'change'. 'setRawValue' не запускает событие. Я не проверял, но я считаю, что 'setRawValue' не проверяет, что значение находится в' store'. – Nabarun

ответ

1

Я использовал Ext.getCmp('myComboBoxID').setRawValue("myValue");, чтобы установить значение & он работал.

0

Перед тем, как позвонить setValue, необходимо загрузить магазин, и вы используете идентификатор записи, которую хотите выбрать. Существует событие загрузки, которое вы можете прослушать, если значения загружены с сервера. emptyText не предназначен для значений по умолчанию, но для того, чтобы помочь пользователю понять, что должно быть сделано с полем (например, «Выбрать состояние» из списка состояний)

2

Вам необходимо указать id для метода getCmp. Попробуйте следующее.

Ext.getCmp('#myComboBoxID').setValue("myValue");

Смежные вопросы