Проблема с установкой jQuery после обновления - PullRequest
1 голос
/ 16 мая 2011

У меня есть следующий код:

<input id="aanschafdatum" type="text" name="aanschafdatum" size="40" value="" />
<input id="sel_aanschafdatum" type="hidden" value="12-05-2011" />

$(document).ready(function() {
    var selected_date = document.getElementById("sel_aanschafdatum").value;
    loadDatepicker('#aanschafdatum', selected_date );
});

 function loadDatepicker(id, selected_date) {
     if (selected_date === undefined) {
         selected_date = "";
     }
     $(function() {
         $(id).datepicker();
     });
     if (selected_date !== '') {
         $(id).datepicker("setDate", selected_date);
     }
 }

Этот код работает нормально, текущая дата "12-05-2011" будет установлена ​​в указателе даты. Но после обновления до последней версии jQuery он больше не работает. Только если я удалю document.ready из:

var selected_date = document.getElementById("sel_aanschafdatum").value;
loadDatepicker('#aanschafdatum', selected_date );

это работает.

Я проверил это с jsFiddle . С jQuery 1.4.4 все работает нормально; в jQuery 1.5.2 не устанавливается текущее значение.

Надеюсь, кто-то может помочь, заранее спасибо.

Edwin

1 Ответ

1 голос
/ 16 мая 2011

У вас неправильный "синтаксис" jQuery, возможно, в более новых версиях они больше этого не прощают.

Внутри функции loadDatepicker вы вкладываете некоторый код в блок $(function() {} - это неправильно.

Должно быть наоборот: блок $(function() {} должен содержать функции, которые вы хотите запустить. Поскольку у вас уже есть этот код в контексте $(document).ready, просто удалите $(function() {, и у вас все хорошо:

function loadDatepicker(id, selected_date) {
     if (selected_date === undefined) {
         selected_date = "";
     }

     $(id).datepicker();

     if (selected_date !== '') {
         $(id).datepicker("setDate", selected_date);
     }
 }

Обновлен jsFiddle:
http://jsfiddle.net/MgWNv/5/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...