2012-04-03 4 views
8

Мой тестовый div находится ниже. Если я поместил все это на свою страницу, все будет работать отлично. Если он помещается на мою последнюю страницу, я получаю сообщение об ошибке, указывающее, что datepicker() не определен.jQuery UI не загружается

Как определить, что вызывает пользовательский интерфейс jQuery?

<div> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script> 

<link type="text/css" href="../css/ui-lightness/jquery-ui-1.8.18.custom.css" rel="stylesheet" /> 

<script type='text/javascript'> 
$(document).ready(function() { 

    //for calendar 
    $("#date_to").datepicker(); 
    $("#date_from").datepicker(); 
    //end for calendar 
}) 
</script> 

<input id='date_to'> 
<input id='date_from'> 
</div> 
+2

Кажется, здесь работает: http://jsfiddle.net/Vvmxx/. Я предполагаю, что на вашей странице может быть какой-то другой код, который вызывает ошибку, а ошибка datepicker является побочным продуктом. –

+0

Можете ли вы предоставить источник или ссылку на свою последнюю страницу? Также, что говорит консоль? Просто jQuery.ui undefined? –

+0

Я согласен с @RoryMcCrossan, что datepicker является побочным продуктом. –

ответ

0

Убедитесь, что при создании пакета JQuery UI здесь: http://jqueryui.com/download Вы выбираете элемент Datepicker. Я видел, что вы используете версию, размещенную Google, она отлично работает здесь, они ее предоставляют: jQuery UI Datepicker 1.8.18 (смотрите исходный код). Чтобы выяснить, что вызывает разрыв jQueryUI, помимо отладки:

  • Тест на jsfiddle.net;
  • Тест в других местных условиях (другие браузеры также);

Надеюсь, что это поможет.

16

Убедитесь, что вы случайно не ссылались на jQuery дважды. У меня была более ранняя версия загрузки jQuery после пользовательского интерфейса jQuery, который поднимал вещи. =/

+2

У меня была аналогичная проблема: загрузка jQuery UI дважды прерывается для первого элемента, используя его (по крайней мере, так оно и появилось). – Trojan

+0

Я хотел бы добавить, что у меня была другая библиотека, загружающая более старую версию jQuery поверх моей собственной ссылки. Вот почему это было не так легко обнаружить. – JoshNaro

+1

Если вы включаете DataTables с помощью Builder Builder, KNOW WHERH ИЛИ OR, вы включаете опцию jQuery с DataTables. Если да, не включайте jQuery самостоятельно. Если вы этого не сделаете, вы должны обязательно включать jQuery самостоятельно. Это сожгло меня! Спасибо за совет. –

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