Nếu tôi có một lựa chọn combobox được lưu trữ trên cửa hàng kích hoạt một sự kiện trong ExtJS 4, làm cách nào để tôi nhận được đối tượng đầy đủ được biểu thị bằng lựa chọn đó?Lấy đối tượng mô hình đầy đủ từ một combobox trong ExtJs?
13
A
Trả lời
19
Nói chung, bạn có thể sử dụng phương pháp findRecordByValue
trên combobox:
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
Đã tìm ra điều này gần như ngay lập tức sau khi đăng câu hỏi của tôi.
Vấn đề của tôi là tôi đã liên kết với sự kiện sai, tôi đã sử dụng 'thay đổi' thay vì 'chọn'.
Sự kiện lựa chọn cung cấp cho bạn bản ghi với đối tượng đầy đủ chứa trong đó.
+5
Hãy nhận biết rằng 'sự kiện select' sẽ chỉ được kích hoạt nếu những thay đổi giá trị vì người dùng nhấp một tùy chọn trên danh sách. Nếu 'setValue' được gọi là lập trình, chỉ' thay đổi' sẽ kích hoạt. –
Các vấn đề liên quan
- 1. Lấy kết quả đầy đủ từ "ps"
- 2. lấy tên đầy đủ của một assembly
- 3. Làm thế nào để lấy đối tượng is_to đầy đủ trong json render?
- 4. Cách lấy tên đầy đủ?
- 5. lấy mảng đầy đủ từ các tập tin cấu hình trong CodeIgniter
- 6. ExtJs Combobox từ mảng địa phương
- 7. Lấy tên thiết bị âm thanh đầy đủ từ Windows
- 8. Cách lấy chiều rộng đầy đủ trong PivotItem
- 9. Linux: Cách lấy tên đầy đủ của đối tượng được chia sẻ vừa tải từ hàm tạo?
- 10. Lấy tên đầy đủ của waveIn device
- 11. Cách lấy url_for một đối tượng trong Phương thức mô hình trong Rails
- 12. ExtJS: xác nhận mẫu đối với mô hình
- 13. Cách lấy một phần từ đường dẫn đầy đủ trong C#?
- 14. Tạo C# Loại từ tên đầy đủ
- 15. Giống như Python làm đầy các đối tượng Javascript đầy đủ
- 16. Cách lấy đối tượng Người dùng Sharepoint từ trường "AssignedTo" bằng mô hình đối tượng phía máy khách?
- 17. Lấy kích thước hình ảnh bằng Javascript trước khi hình ảnh được tải đầy đủ
- 18. Xóa các từ đầy đủ chứa một chuỗi trong Vim
- 19. Triển khai tốt nhất cho mô hình dữ liệu có thể kiểm tra đầy đủ?
- 20. Tên quy trình đầy đủ từ task_struct
- 21. Lấy tên đối tượng từ bên trong một hàm
- 22. Thiết kế đối tượng mô hình Java
- 23. Ruby có thực sự là một ngôn ngữ hướng đối tượng đầy đủ không?
- 24. Hình ảnh đầy đủ, các góc tròn
- 25. đầy đủ ứng dụng màn hình android
- 26. Mô hình Django ForeignKey on_delete thuộc tính: đầy đủ ý nghĩa?
- 27. Lấy kích thước đầy đủ của hình ảnh trong javascript/jquery
- 28. lấy đường dẫn đầy đủ từ một PID sử dụng delphi
- 29. Tải giá trị mặc định cho một combobox extjs
- 30. WCF: Cách lấy đối tượng Binding từ cấu hình
Thú vị. Tôi khá mới với extJS, thực hành tốt nhất ở đây là gì? –
Câu hỏi hay. Với nguy cơ nghe cliché, nó phụ thuộc vào trường hợp sử dụng của bạn. Tôi nghĩ có 2 điều quan trọng cần ghi nhớ. Đầu tiên, sự kiện 'select' là một sự kiện UI, trong khi sự kiện' change' là một sự kiện thay đổi trạng thái. Thứ hai, một combobox * sử dụng * cửa hàng của nó để tạo điều kiện thay đổi giá trị trường cơ bản của nó thông qua giao diện người dùng. Kết quả là, sự kiện 'select' sẽ * luôn luôn * tương ứng với một bản ghi trong kho lưu trữ bên dưới, nhưng sự kiện' change' có thể không. –
Hmm Tôi thực sự không biết câu trả lời nào để đánh dấu là chính xác, bởi vì, như bạn đã chỉ ra, câu trả lời đúng tùy thuộc vào trường hợp sử dụng. –