有没有办法在jquery.ui datepicker中更改“今天”日期? 今天,我的意思是今天(class =“ui-datepicker-today”)而不是minDate或当前选择的日期!
我发现,该日期选择器使用系统时间作为默认值。现在我从服务器获取当前日期并将其设置为我的minDate。但是我找不到设置今天日期的方法...... 它仍然使用我的系统日期(有些用户的系统日期是2000年或更早)。
请帮帮我吗?
答案 0 :(得分:1)
基于source,它看起来不太好。
var today = new Date();
这总是用户的系统日期。
如果你绝对必须解决这个问题,请往下看;您可以覆盖$.datepicker._daylightSavingAdjust
并从服务器返回日期*
但这是一个坏主意。为什么你的用户的系统日期如此混乱呢?为什么这是你的问题?如果他们抱怨,告诉他们修理他们的时钟。
*我无法强调这是多么糟糕的想法。该函数用于规范化日期选择器中的大多数日期,因此您必须编写一些非常复杂的逻辑以防止一切乱码。这甚至可能都不可行。
答案 1 :(得分:0)
对jQuery UI DatePicker change highlighted "today" date
中所选答案的小调整// Get users 'today' date
var localToday = new Date();
localToday.setDate(tomorrow.getDate()+1); // tomorrow
// Pass the today date to datepicker
$( "#datepicker" ).datepicker({
showButtonPanel: true,
localToday: localToday // This option determines the highlighted today date
});
我已经覆盖了2个datepicker方法来有条件地使用"今天"日期而不是new Date()
。新设置名为localToday
。
像这样覆盖$.datepicker._gotoToday
和$.datepicker._generateHTML
:
$.datepicker._gotoToday = function(id) {
/* ... */
var date = inst.settings.localToday || new Date()
/* ... */
}
$.datepicker._generateHTML = function(inst) {
/* ... */
tempDate = inst.settings.localToday || new Date()
/* ... */
}
这里有demo,其中显示了完整的代码和用法: http://jsfiddle.net/NAzz7/5/
答案 2 :(得分:-2)
您是否在设置jQuery UI Datepicker打开时的默认日期?
如果是这样,则datepicker有一个option,允许你设置它。