Использование AJAX для изменения месяцев в PHP-календаре - PullRequest
0 голосов
/ 07 августа 2011

У меня есть встроенный календарь на PHP, который отображает даты каждого месяца. Теперь я хочу перемещаться между месяцами, не обновляя страницу.

Обычно скрипт принимает параметры в URL, поэтому я попытался передать эту информацию через запрос загрузки AJAX. Это работает в течение одного месяца вперед и один месяц назад. Однако после этого ссылка перестает работать, и "#" возвращается в URL.

Вот мой код:

$(document).ready(function(){

//Calendar "next"
$("#db-cal-next").click(function(){     
    var get_params = $(this).attr("rel");
    $("#db-calendar-wrap").load("../template/db-calendar.php", get_params);
    return false;
});

//Calendar "previous"
$("#db-cal-prev").click(function(){
    var get_params = $(this).attr("rel");
    $("#db-calendar-wrap").load("../template/db-calendar.php", get_params);
    return false;
});
});

Я заставил PHP-скрипт передать необходимые параметры, необходимые для создания запроса на следующий и предыдущий месяцы, и он передал эту информацию через атрибут rel. Я думаю, что проблема заключается в том факте, что атрибут rel не изменяется при запуске сценария календаря, поэтому новый набор параметров не генерируется.

Любая помощь будет принята с благодарностью, спасибо!

Ответы [ 2 ]

0 голосов
/ 07 августа 2011

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

Доступно множество календарей Javascript: как в наборах инструментов, так и в отдельных модулях. Например:

CalendarView

jsDatePick

Виджеты Dojo

0 голосов
/ 07 августа 2011

Если ваши #db-cal-next и #db-cal-prev находятся внутри #db-calendar-wrap, то при загрузке HTML через AJAX в обертку создаются новые элементы с идентификаторами "db-cal-next" и "db-cal-prev",Итак, новых элементов нет в вашем наборе jQuery.Вам необходимо использовать функцию связывания событий jQuery .live(): http://api.jquery.com/live/ Но может ли быть функциональность DatePicker пользовательского интерфейса jQuery - это все, что вам нужно?

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