Xử lý khi click outside select2 multiple
Mọi người cho em hỏi có event nào của select2 multiple khi chọn dữ liệu xong rồi click ra bên ngoài select2 thì xử lý tiếp theo không ạ, giống như kiểu blur event. Cảm ơn trước ạ
3 CÂU TRẢ LỜI
Nếu mình nhớ không nhầm thì mỗi lần bạn click chọn dữ liệu xong thì nó đề close cái dropdown chọn mà nhỉ. Nếu bạn muốn bắt cái event sau khi chọn xong thì nó sẽ là select2:close
hoặc select2:closing
. Bạn có thể tham khảo tại đây:
- Danh sách event: https://select2.org/programmatic-control/events
- Demo: https://jsfiddle.net/jtw17r8h/2/
Ko phải cái này bạn à, mình muốn chọn nhiều xong click ra ngoài mới xử lý, còn cái này là mỗi khi click chọn data trong select thì nó đã xử lý rồi, BTW thank bạn
@thanhtungs vậy từ phiên bản 4 trở đi là Select2 bỏ mất cái event Blur
rồi nhé bạn phiên bản cuối cùng còn là 3.5.4
nhé
@HuyDQ đúng rồi, còn issue mình giải quyết được rồi, cảm ơn b đã nhiệt tình support
@thanhtungs nếu vậy bạn có thể share giải pháp của mình lên luôn không để sau này người kahsc có thể sẽ gặp phải trường hợp như bạn sẽ đọc được
@HuyDQ Mình check sự thay đổi của select2 khi click bên ngoài select thì thấy sự thay đổi của class, vậy nên mình kiểm tra class có tồn tại không, nếu không có thì mình xử lý ....
@thanhtungs một khi không có giải pháp cho đường thẳng. Khi vạch ra được đường mới đó là một cảm giác vui khó tả( )
Để mình thử xem. Xin chân thành cảm ơn
Có được không bác ơi?
Mình xử lý được rồi, nhưng bằng cách khác
@thanhtungs Bạn có thể share lại solution của mình lên để cho ae trên Viblo tham khảo được ko?
@huukimit Đây là solution của mình, hi vọng hữu ích cho một số bạn : B1: check sự kiện not click vào select2, B2: Mình kiểm tra sự thay đổi, khi click vào select2 thì xuất hiện class "select2-container--below " và "select2-selection--multiple", còn khi click ra ngoài thì xuất hiện class "select2-container--focus", mình check length 2 thằng này. B3: Xử lý tiếp ....
Cảm ơn ạ, để mình thử xem