在ext js中,當我有一個組合時,顯示值和值(它被髮送到服務器)。我不需要displayValue發送到服務器,但我需要在頁面上捕獲它並顯示警報。 這樣做的eextjs方法是什麼? combo.getValue()
將返回潛在價值......我沒有看到任何combo.getDisplay()
extjs組合顯示值
編輯:只是爲了澄清,我希望得到一個由用戶選擇的項目的顯示值。我希望在onselect或changeevent上顯示提醒。
在ext js中,當我有一個組合時,顯示值和值(它被髮送到服務器)。我不需要displayValue發送到服務器,但我需要在頁面上捕獲它並顯示警報。 這樣做的eextjs方法是什麼? combo.getValue()
將返回潛在價值......我沒有看到任何combo.getDisplay()
extjs組合顯示值
編輯:只是爲了澄清,我希望得到一個由用戶選擇的項目的顯示值。我希望在onselect或changeevent上顯示提醒。
如果您設置組合框您希望在該做工精細警報顯示值valueField屬性。
alert(combo.getValue());
如果你想要這個值是從你提交到服務器的值不同,你將獲得從組合框中商店,並找到相應的記錄。
var store = combo.getStore();
var index = store.find('*YourFieldName*', combo.getValue());
if(index != -1)//the record has been found
{
var record = store.getAt(index);
//you can then do what you like with the record.
}
我們可以檢索底層商店,然後使用我們的值作爲鍵來獲得顯示值。
像這樣的東西(我沒有測試過):
var displayValue = combo.getStore()[combo.getValue()]
我們可以得到組合框顯示值這樣的事情...
getRawValue():字符串 返回組合的原始字符串值,而沒有進行任何正常化,轉換或驗證。獲取輸入元素的當前值,如果該字段已被渲染,則忽略該值(如果它是空文本)。
combo.getRawValue();
combo.getStore().getById(combo.getValue()).raw.displayAttribute //Ext 4.x,
//displayAttribute: displayField or displayed attrib in store data for the combo
讓我們假設你在你的組合框有如下:
id: 'COMBOBOX_ID', displayField: 'COMBOBOX_DIS_FIELD_NAME', valueField: 'COMBOBOX_VAL_FIELD_NAME'
然後,你可以做到以下幾點:
var combo = Ext.getCmp('COMBOBOX_ID');
var comboStore = combo.getStore();
var index = comboStore.find('COMBOBOX_VAL_FIELD_NAME', combo.getValue());
if(index != -1)
{
var selectedItemDisplayValue = combo.getStore().getAt(index).get('COMBOBOX_DIS_FIELD_NAME');
}
+1但你並不真正需要的 「如果」條件。 (如果你能想到一個你需要的情況,我想知道!) – 2011-02-02 17:42:27