[英]Jquery datepicker set server date as default
我正在使用来自jqueryui.com的jQuery datepicker,并将日历更改为``fa''。它工作正常。我想通过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”类的优先级高于jquery-ui.css中的“ ui-state-active”类,这就是为什么如果将今天的日期设置为选定日期,它仍然以黄色突出显示。
要更改优先级,请在本地css文件中添加以下类,它将解决您的问题。
.ui-widget-content .ui-state-active {
border: 1px solid #aaaaaa;
background:#fff;
}
JS小提琴演示: http : //jsfiddle.net/sQ857/
AJAX
调用完成后,您将必须销毁datepicker的旧实例并重新初始化它。 尝试以下代码:
$.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"
});
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.