如果我有一個存儲支持的組合框選擇,可以在ExtJS 4下觸發一個事件,那麼我該如何獲取由該選擇表示的完整對象?在ExtJs中從組合框中獲取完整的模型對象?
13
A
回答
19
一般情況下,你可以使用組合框的findRecordByValue
方法:
combobox.on('change', function(combobox, newValue, oldValue) {
// Get the old and the new records.
// NOTE: The underlying store is not guaranteed to
// contain an associated record.
var oldRecord = combobox.findRecordByValue(oldValue);
if (oldRecord) {
// Do something...
}
var newRecord = combobox.findRecordByValue(newValue);
if (newRecord) {
// Do something...
}
});
6
在發佈我的問題後幾乎立即想到了這一點。
我的問題是我綁定了錯誤的事件,我正在使用「更改」而不是「選擇」。
選擇事件爲您提供其中包含的完整對象的記錄。
+5
請注意,'select'事件只被觸發,如果該值改變,因爲用戶點擊列表上的選項。如果'setValue'被編程調用,只有'change'會觸發。 – 2012-07-20 00:33:50
相關問題
- 1. 從組合框中獲取對象
- 2. 從GridPanel在ExtJS中獲取模型
- 3. ExtJS的:在組合框中
- 4. 獲取完整對象及其派生類型的子集合
- 5. 如何從模型中獲取對象?
- 6. 如何獲取extjs組合框的值?
- 7. 如何在ExtJs中獲取組合框的valueField的值
- 8. 獲取從SOQL查詢JSON的在Salesforce的EXTJS組合框
- 9. 從對象數組中獲取對象
- 10. 在Spring框架中獲取模型類的單個對象
- 11. ExtJS的組合框從SQL
- 12. 如何從CoreData中獲取完整的對象(不是錯誤)?
- 13. 如何從PHP中的不完整類對象獲取值?
- 14. 從RazorView對象獲取模型類型
- 15. 從組合框itemrenderer中獲取所選項目並存儲在對象中
- 16. ExtJS的4組合框自動完成
- 17. 在ExtJS組合框中調整下拉框
- 18. 如何獲取extjs組合框中高亮顯示的項目?
- 19. 如何從ExtJS中的CartesianChart對象的itemId中獲取工具
- 20. 從C#中的對象獲取類型
- 21. 如何從組合框中獲取ID?
- 22. 從組合框中獲取DayOfWeek
- 23. 從組合框中獲取所選值
- 24. 如何從組合框中獲取值?
- 25. 如何從組合框中獲取值
- 26. 從SWT組合框中獲取數據
- 27. 在CloudBoost中獲取用戶的完整CloudFile對象
- 28. extjs組合框
- 29. 從集合中獲取模型
- 30. 從tastypie uri獲取模型對象?
有趣。我對extJS相當陌生,這裏最好的做法是什麼? – 2012-07-20 03:24:51
好問題。冒着陳詞濫調的風險,這取決於你的用例。我認爲有兩件關鍵的事情需要記住。首先,'select'事件是一個UI事件,而'change'事件是一個狀態改變事件。其次,一個組合框*使用*它的存儲來促進通過UI改變其基礎字段值。結果,'select'事件將總是*對應於底層存儲中的一條記錄,但'change'事件可能不會。 – 2012-07-20 13:26:25
嗯,我真的不知道哪個答案標記爲正確的,因爲,正如你所指出的,正確的答案取決於用例。 – 2012-07-20 15:36:26