7

Tôi nhận được lỗi:Kiểm tra nếu Bootstrap datepicker kịch bản đã nạp

Uncaught TypeError: undefined is not a function 

Khi tôi cố gắng thiết lập datepicker:

$('.datepicker').datepicker(); 

Làm thế nào tôi có thể xác định xem datepicker đã nạp hay không ?

Để được rõ ràng, tôi không sử dụng jQuery UI

+1

Bạn đang thiếu thư viện jquery UI . – Tomanow

+0

@Tomanow Xin lỗi vì sự nhầm lẫn, tôi không sử dụng giao diện người dùng jQuery, tôi đang sử dụng công cụ datepicker bootstrap - http://bootstrap-datepicker.readthedocs.org/en/release/ –

Trả lời

15

Bạn có thể kiểm tra xem nếu kịch bản datepicker đã nạp sử dụng:

if ($.fn.datepicker) { 
    // ... 
} 

Sau đó, bạn có điều kiện có thể gọi phương thức .datepicker() nếu tập lệnh đã tải:

if ($.fn.datepicker) { 
    $('.datepicker').datepicker(); 
} 

Example Here

Khi làm như vậy, lỗi sẽ không bị ném nếu tập lệnh không được tải.


Bạn cũng có thể sử dụng:

if (typeof $().datepicker === 'function') { 
    $('.datepicker').datepicker(); 
} 

Example Here

+0

Brilliant! Cảm ơn. Tôi đã không chắc chắn nếu điều này sẽ có thể. –

+0

không cần var, 'if ($. Fn.datepicker) {...}' hoạt động tốt – dandavis

+0

@dandavis Cập nhật, cảm ơn! –

-1

này đã ngăn tôi lại nạp bootstrap-datepicker nhiều hơn một lần trong suốt modals ..

$.isFunction(Date.today) || $('body').append('<script src="assets/bootstrap-daterangepicker/date.js"><\/script><script src="assets/bootstrap-daterangepicker/daterangepicker.js"><\/script>');     
Các vấn đề liên quan