Я использую 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"
}
});
Сегодня дата всегда выделяется в 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/
После завершения вызова 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"
});
}
});