Почему я не могу заставить DatePicker работать с этой ошибкой Type: ошибка не определена?

0

У меня есть следующий код внизу моей страницы (прямо перед тем, как закрыть тег body)

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script src="/js/main.js"></script>

Я дважды проверил свой "источник просмотра", чтобы убедиться, что ссылки не сломаны, и все там, как должно быть.

В моем файле main.js меня есть следующее:

$(document).ready(function(){
    imp_init_fields();
});

function imp_init_fields() {
    if( $('.datepicker')[0] ) {
        $('.datepicker').datepicker();
    }
}

Как вы можете видеть, ничего особенно сумасшедшего, просто настраивая дампикера, как я сделал это миллион раз.

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

Fire Fox:

Временная метка: 11/12/2012 2:15:31 PM Ошибка: TypeError: o не определено Исходный файл: http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js Линия: 9

Хром:

Uncaught TypeError: Невозможно прочитать настройки свойств неопределенных

Теперь я сделал это миллион раз, и поэтому считаю, что это действительно просто. Я подумал, может быть, у меня были противоречивые версии jquery и jquery-ui, но я пошел и загрузил устаревший код, и я получил ту же ошибку.

То, что я не понимаю, инициализируется datepicker, и я могу заставить его появляться при нажатии на поле ввода, но он ломается, как только я пытаюсь взаимодействовать с ним... Любая идея, что я делаю неправильно здесь?

Редактировать: я запускал его с помощью недопустимого кода.

Fire Fox:

Временная метка: 11/12/2012 2:34:45 PM Ошибка: TypeError: inst is undefined Исходный файл: http://code.jquery.com/ui/1.10.3/jquery-ui.js Линия: 8574

Линия 8574:

inst.selectedDay = inst.currentDay = $("a", td).html();

К сожалению, это не говорит мне многого. Я не делаю ничего особенного. У меня нет другого включенного javascript, это очень простая страница.

  • 0
    просто чтобы убедиться, посмотрите на это в своей первой вставке: <script src = "http: //
  • 0
    Если бы вы использовали незавершенную версию jQuery и jQuery UI, вы бы фактически смогли отладить и посмотреть, на какой линии действительно была ошибка.
Показать ещё 3 комментария
Теги:
datepicker

1 ответ

3

После @Melonheadjr44 опубликовала ссылку на jQuery datepicker возвращает ошибку "inst is null" при загрузке через AJAX, это заставило меня посмотреть, могу ли я иметь два идентификатора, которые конфликтуют на моей странице.

Оказывается, я сделал следующее:

<label id="client_since">Client since:</label>
<input type="text" id="client_since" name="client_since" class="datepicker" value="" />     

Это может быть не очень ясно, но я случайно поменял атрибут "для" на моей метке "id". Поскольку jquery использовал идентификатор для ввода поля ввода, он фактически вытаскивал ярлык и не обнаруживал атрибуты/параметры, которые он ожидал найти.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню