3

我正在使用 Jquery 日期选择器来选择日期,并且我希望能够将选择默认为给定日期。

这是我的代码:

var SelectDate=new Date(2013, 06,25 , 0, 0, 0, 0) ;
$("#OnwardTravelDate").datepicker({ 
      numberOfMonths: 2, 
      dateFormat: 'dd/mm/yy', 
      minDate: datePickMinDate_DT, 
      maxDate: datePickMaxDate_DT, 
      defaultDate: SelectDate 
});

但是日期选择器控件突出显示今天的日期和日期 'selectDate' 。我只想突出显示“selectDate”

4

4 回答 4

1

在 htmljquery中设置valueof怎么样?#OnwardTravelDate

HTML:

<input type="text" id="OnwardTravelDate" value="25/06/2013" />

jQuery:

$("#OnwardTravelDate").val("25/06/2013"); // Before datepicker code

那么你根本不需要你defaultDate: SelectDate的:)

希望有帮助。


编辑:(更多信息)

你也可以试试这个setDate方法:

$("#OnwardTravelDate").datepicker("setDate", SelectDate); // After datepicker code

编辑:jsfile

这个 JS 文件似乎对我有用:jsfiddle

也许您的主题的样式使它看起来像是被选中的?

于 2013-06-07T06:13:27.200 回答
1

Datepicker 为 "today" 和 "selected day" 分配不同的类:

今天 - ui-state-highlight

选定日期 - ui-state-active

您可以删除或覆盖“.ui-datepicker .ui-state-highlight”的样式或删除类:

$("#OnwardTravelDate a.ui-state-highlight").removeClass("ui-state-highlight");
于 2013-06-07T06:35:44.983 回答
1

removeClass("ui-state-highlight");应该解决你的问题。

但是如果你只是想让今天的亮点不再显示,你可以获取 datepicker 的源 ( jquery.ui.datepicker.js) 并找到要删除的这一行:

(printDate.getTime() == today.getTime() ? ' ui-state-highlight' : '') +

然后编译使用。

于 2013-06-07T06:44:49.960 回答
1

EDIT1:这里我找到了一个修复,但我无法处理你的代码。

$( "#datepicker" ).datepicker({
   beforeShow: function(input, inst) {       
       window.setTimeout(function(){
           $(inst.dpDiv).find('.ui-state-highlight.ui-state-hover').removeClass('ui-state-highlight ui-state-hover')      
       },0)     
   },   
});

检查这个JSFiddle,如果可能的话,用你尝试的代码更新它。

EDIT2:通过用下面的覆盖默认的css.ui-datepicker-todaya.ui-state-highlightof。

.ui-datepicker-today a.ui-state-highlight {
    border-color: #d3d3d3;
    background: #e6e6e6 url(/themeroller/images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;
    color: #555555;    
}

看看这个JSFiddle

于 2013-06-07T06:47:35.853 回答