繁体   English   中英

jQuery datepicker将服务器日期设置为默认日期

[英]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"
    }
}); 

解决:这是一个CSS问题,与JS或Ajax不相关

今天的日期始终在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM