Tôi có một biểu mẫu có nhiều yếu tố đầu vào. Một số trường ngày với một datepicker jQuery UI alraedy kèm theo:Kiểm tra xem phần tử đã có bộ đếm date jQuery chưa
$("#someElement").mask("9?9/99/9999").datepicker({showOn: 'button', buttonText:'Click here to show calendar', duration: 'fast', buttonImageOnly: true, buttonImage: /images/calicon.gif' });
Sau đó, tôi có một lệnh quan trọng liên kết với chức năng này:
function openCalendar() {
var selection = document.activeElement;
// { Need to test here if datepicker has already been initialized
$(selection).datepicker("show");
// }
}
này hoạt động tuyệt vời cho các yếu tố đó đã có datepicker trên chúng. Tuy nhiên, bất kỳ trường nào khác sẽ ném một lỗi javascript. Tôi đang tự hỏi cách tốt nhất để kiểm tra xem liệu datepicker đã được khởi tạo trên trường đó chưa.
Để kiểm tra xem tự động hoàn thành UI UI đã được khởi tạo chưa, tôi đã sử dụng lệnh này: '$ ('# myinput'). (': Data (autocomplete)')'. Tôi giả định điều này cũng làm việc cho datepicker. –
Chỉ vì lớp đánh dấu tồn tại không phải lúc nào cũng có nghĩa là datepicker là trên nút. Trong Datatables khi nó chuyển sang xem thẻ datepicker được loại bỏ khỏi nút, nhưng lớp vẫn ở lại! Vì vậy, bạn cần phải thêm kiểm tra bổ sung như trên VÀ loại bỏ các lớp học nếu bạn cần phải rebind kể từ khi datepicker nội bộ sử dụng lớp như một proxy để ngăn chặn nhiều ràng buộc. – Jeff