2015-05-06 2 views
1

Я пытаюсь использовать плагин Pickadate. У меня очень странная проблема. Иногда плагин решает работать, а иногда - нет.Pickadate не работает

Я добавил несколько console.log() в picker.js picker.date.js и picker.time.js, и все они отключаются, как ожидалось. Также, если я проверяю $ .fn.pickadate, чтобы узнать, существует ли он. Но тогда, когда я на самом деле назвать $ pickadate() я получаю ('DatePicker.):.

Uncaught TypeError: jQuery(...).pickadate is not a function 

Если я обновить страницу, то большинство времени все это работает, как ожидалось. Но странного случая это не так.

Любые предложения по тому, что это может быть?

+0

Если вы хотите что-то более прочное и стабильное, стоит посмотреть: http://dbushell.github.io/Pikaday/ Я использую его на некоторых бэкэндах, работает очень хорошо. – Sharky

+0

Привет @KatrinRaimond спасибо за это. Раньше я использовал Pikaday без проблем. Но мне нужна какая-то функция выбора времени, поэтому я выбрал Pickadate. –

+0

Я пошел в другую сторону. использовал пикадат, а затем переключился на Пикадей на простоту. – Sharky

ответ

5

Найдено вопрос и расширение на комментарий Sharky, я пошел от:

$('.datepicker').pickadate({ 
selectMonths: true, // Creates a dropdown to control month 
selectYears: 3 // Creates a dropdown of 15 years to control year 
    }); 

к:

$(document).ready(function() { 
     $('.datepicker').pickadate({ 
    selectMonths: true, // Creates a dropdown to control month 
    selectYears: 3 // Creates a dropdown of 15 years to control year 
    }); 
}); 

И решить мою проблему.

Редактировать: если это не ясно из кода, это артефакт различных js-файлов, загружающихся с различной скоростью при каждой загрузке страницы. Документ уже заставил инициализацию сборщика ждать, пока все элементы (включая библиотеку сборщика) не будут готовы.

+0

благодарит кучу! –

Смежные вопросы