Отображение CSS: None & JS .show () разбивают JQuery и AjaxToolkit Date Pickers - PullRequest
2 голосов
/ 16 июня 2011

Итак, я создал интерфейс с вкладками, используя java-скрипт, jQuery и CSS, в котором я просто вызываю .show () и .hide () для div, которые содержат содержимое вкладки. Все это прекрасно работает; однако для одной из вкладок требуется пользователь Date Picker (я пробовал это использовать как jQuery, так и AjaxToolkit DatePickers).

Средство выбора даты прикреплено к входу на третьей вкладке и будет отображаться при первом нажатии на коробку (как ожидается) при переходе на третью вкладку; однако в последующие моменты времени, когда отображается третья вкладка, нажатие на ввод выбора даты просто не имеет никакого эффекта.

Ниже приведен скрипт Java, управляющий вкладками:

$(document).ready(function () {
    // initialize the first tab as selected
    $('#tabMenu > li:eq(0)').css('backgroundColor', '#E9E6D7')
    $('#tabMenu > li:eq(0)').addClass('selected');

    // hide all of the tabs but the first
    $('.tabBoxBody div').hide();
    $('.tabBoxBody div:eq(0)').show();

    // whenever a list item in the tab bar is clicked
    $('#tabMenu > li').click(function () {

        // make sure the tab isn't already selected
        if (!$(this).hasClass('selected')) {

            // remove selected from the old tab and add it to the new
            $('#tabMenu > li').removeClass('selected');
            $(this).addClass('selected');

            // hide the old tab's contents and show the new one's
            $('.tabBoxBody div').hide();
            $('.tabBoxBody div:eq(' + $('#tabMenu > li').index(this) + ')').show()

            // clear all background colors and set the new tab's color
            $('#tabMenu > li').css('backgroundColor', '#C2CBDA')
            $(this).css('backgroundColor', '#E9E6D7')
        }

    })

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

Спасибо, Chris

Ответы [ 2 ]

2 голосов
/ 16 июня 2011
$('.tabBoxBody div').hide();

Я думаю, что эта строка влияет на элементы div, которые формируют указатель даты.

Вы можете добавить класс 'tab' в ваш div, а затем просто

$('.tabBoxBody .tab').hide();    
0 голосов
/ 16 июня 2011

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

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