Jquery вкладки и календарь не привязаны должным образом - PullRequest
0 голосов
/ 10 сентября 2009

Я реализую переключатель вкладки jquery для страницы, который загружает содержимое из скрытых элементов div на странице. на одной из скрытых страниц у меня есть всплывающее окно календаря (часть API jQuery.UI. Это работает найти на его собственной странице, но когда я добавляю его в скрытый блок и затем загружаю этот блок в видимое окно, я теряю способность для правильно всплывающий календарь. Я попытался использовать live без удачи - он работал для других элементов, связанных с событиями, на этих скрытых страницах div.

Вот пример того, что я делаю:

$(".tab-toggle").live("click",function() {
  alert("test");
  $(".calendar-class").datepicker({showOn: 'both', buttonImage: 'images/icon-calendar2.gif', buttonImageOnly: false, changeMonth: true, changeYear: true, yearRange: '2009:2015'});
}); 

оповещение срабатывает при каждой загрузке страницы, но календарь не возвращается к событию.

$(".calendar-class").datepicker({showOn: 'both', buttonImage: 'images/icon-calendar2.gif', buttonImageOnly: false, changeMonth: true, changeYear: true, yearRange: '2009:2015'});

отлично работает на страницах, где он сразу загружается в видимое окно, но перестает работать, когда я перехожу на другую страницу, а затем назад ...

1 Ответ

0 голосов
/ 26 февраля 2011

Я сделал то же самое, но я не использовал интерфейс Jquery для его переключения. Вместо этого я сделал основное шоу / скрыть.

Здесь можно увидеть

Это jQuery, который я использовал:

$("#changeSortCal").click(function(){
    $("#search_choose_cal").hide();
    $(".calendarContainer").slideDown('slow');
});
$(".calendar-close-button").click(function(){
    $(".calendarContainer").hide();
    $("#search_choose_cal").slideDown('slow');
});

.live или .bind не требуется, поскольку DatePicker загружен в pageLoad.

...