Jquery DatePicker установить дату сервера по умолчанию

0

Я использую jQuery datepicker от jqueryui.com и меняю календарь на "fa'.It work fine.I хочу получить сегодня с сервера по вызову ahax (потому что дата на клиенте может быть неправильной) и установить по умолчанию. Если я устанавливаю дату по умолчанию для другой даты (а не сегодня), ее работа прекращается, а дата подсвечивается правильно, но если дата сегодня, дата не подсвечивается в календаре. У меня есть этот код:

$('#txtVacationStartDate').datepicker({
    dateFormat: 'y/mm/dd',
});

Этот код из установленного значения по умолчанию:

  $("#txtVacationstartSDate").datepicker("setDate", new Date("2014/06/05"));//not today and work fine(highlighted  in calendar)
  $("#txtVacationStartDate").datepicker("setDate", new Date("2014/06/06"));// today and not work(not highlighted  in calendar)

Этот код является ajax Call

  $.ajax({
    url: "GetDataHandler.ashx?action=getDateTime",
    type: "GET",
    async: false,
    success: function (dateResult) {
        $("#txtVacationStartDate").datepicker("setDate", new Date(dateResult)); //dateResult="2014/06/05"
    }
}); 
  • 0
    Пожалуйста, покажите нам свой код вызова AJAX. Что возвращает AJAX-вызов в ответ?
  • 0
    @Illaya Illaya Вы понимаете мою проблему? Моя проблема выделена сегодня в календаре не получить дату с сервера
Показать ещё 3 комментария

2 ответа

0
Лучший ответ

Решено: это проблема css, не связанная с JS или ajax

Сегодня дата всегда выделяется в Jquery datepicker со светло-желтым фоном, а выбранная дата подсвечивается белым фоном. Сегодня дата добавила класс "ui-state-highlight", а выбранная дата добавила класс "ui-state-active".

По умолчанию класс "ui-state-highlight" имеет более высокий приоритет, чем "ui-state-active" в jquery-ui.css, поэтому, если сегодняшняя дата установлена как выбранная дата, она появляется с желтой подсветкой.

Чтобы изменить приоритет, добавьте ниже класс в ваш локальный файл css, и он решит вашу проблему.

.ui-widget-content .ui-state-active {
    border: 1px solid #aaaaaa;
    background:#fff;
}

Демо-версия Js скрипки: http://jsfiddle.net/sQ857/

0

После завершения вызова AJAX вам придется уничтожить старый экземпляр datepicker и повторно инициализировать его. Попробуйте код bewlow:

$.ajax({
    url: "GetDataHandler.ashx?action=getDateTime",
    type: "GET",
    async: false,
    success: function (dateResult) {
    $(document).ready(function(){
        $("#txtVacationStartDate").datepicker( "destroy" );//destroy the existing datepicker instance
        //Re-initialize the date picker
        $('#txtVacationStartDate').datepicker({
             dateFormat: 'y/mm/dd',
        });
        $("#txtVacationStartDate").datepicker("setDate", new Date(dateResult)); //dateResult="2014/06/05"
     });
    }
}); 

Ещё вопросы

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