2013-11-21 52 views
1

我正在使用ExtJs 4並在我的Web應用程序中有一個組合框。以前我曾使用emptyText來設置組合框的默認值。它工作得很好。但是,有沒有其他方法可以設置相同的默認值?未使用空文本的ExtJs組合框的默認值

我看着不同的問題在這裏SO和嘗試以下 -

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

然而,這似乎並不奏效。我也試過簡單的value屬性無濟於事。除了使用emptyText以外,我怎樣才能設置默認值?

此外,當使用emptyText設置該值時,它顯示爲灰色(這是不可能的),我想知道是否可以使用ExtJs選擇框的不透明度?

更新:我用Ext.getCmp('myComboBoxID').setRawValue("myValue");設置它的值&它的工作。 setValue() & setRawValue()有什麼區別?

+0

組合框'setValue'重寫'Ext.form.field.Field'中觸發'change'事件的方法。 'setRawValue'不會觸發事件。我沒有驗證,但我相信'setRawValue'不驗證這個值在'store'中。 – Nabarun

回答

1

我以前Ext.getCmp('myComboBoxID').setRawValue("myValue");設置它的工作的價值&。

0

在您調用setValue之前,您需要加載商店,並使用要選擇的記錄的ID。如果值是從服務器加載的,則可以偵聽一個加載事件。 emptyText不是用於默認值,而是幫助用戶理解該字段應該做什麼(例如,從狀態列表中選擇「狀態」)

2

您需要提供id給getCmp方法。嘗試以下操作。

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