如果我有一个存储支持的组合框选择,可以在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. 从GridPanel在ExtJS中获取模型
- 2. 如何从模型中获取对象?
- 3. ExtJS的组合框从SQL
- 4. 如何从CoreData中获取完整的对象(不是错误)?
- 5. 如何从PHP中的不完整类对象获取值?
- 6. 从RazorView对象获取模型类型
- 7. 从组合框itemrenderer中获取所选项目并存储在对象中
- 8. ExtJS的4组合框自动完成
- 9. 在ExtJS组合框中调整下拉框
- 10. 如何获取extjs组合框中高亮显示的项目?
- 11. extjs组合框
- 12. 从C#中的对象获取类型
- 13. 如何从组合框中获取ID?
- 14. 从组合框中获取所选值
- 15. 在CloudBoost中获取用户的完整CloudFile对象
- 16. backbone.js从JS对象获取模型
- 17. 获取值从对象到NG-模型
- 18. 从tastypie uri获取模型对象?
- 19. 如何从集合中获取对象?
- 20. 如何从ExtJs中的现有商店对象中获取商店对象
- 21. 如何从树形模型中获取gtk3组合框的选择
- 22. 在模型中获取回形针完整网址
- 23. 在ExtJS EditorGridPanel中级联组合框
- 24. 在组合框中预选值extjs
- 25. Javascript:从复选框中获取对象
- 26. 从ggmap对象中获取边界框
- 27. 从JavaScript中的对象数组中获取对象
- 28. 从angularjs中的一组对象中获取特定对象
- 29. 在linq集合中获取对象位置的整洁方式
- 30. 从组合框中读取
有趣。我对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