我一直在各地搜索,但似乎找不到解决这个问题的方法。
我需要将datepickers输入值设置为今天的日期减去2个月。
我使用以下代码默认情况下在输入字段中显示今天的日期......
jQuery(function () {
jQuery("#datepicker").datepicker({
dateFormat: 'dd-mm-yy'
});
var day = new Date();
var month = day.getMonth() + 1;
var date = day.getDate() + '-' + month + '-' + day.getFullYear();
jQuery("#datepicker").val(date);
});
它有可能在2个月之前出现吗?
非常感谢任何帮助。
答案 0 :(得分:5)
设置defaultDate
选项:http://jqueryui.com/demos/datepicker/#option-defaultDate
jQuery(function ($) {
var day = new Date(),
year = ((day.getMonth() - 2) < 0) ? (day.getFullYear() - 1) : day.getFullYear(),
month = ((day.getMonth() - 2) < 0) ? (12 + (day.getMonth() - 2)) : (day.getMonth() + 1),
date = day.getDate() + '-' + month + '-' + year;
$('#datepicker').datepicker({
dateFormat : 'dd-mm-yy',
defaultDate : '-2m'
}).val(date);
});
以下是演示:http://jsbin.com/ezuxen/edit#javascript,html,live
以下简要介绍了我对您的代码所做的一些更改:
$
传递给了document.ready
事件处理程序,因此可以在事件处理程序中使用它。$('#datepicker')
jQuery对象的调用,因此不必多次选择它。var
语句背靠背回...... 请注意,如果当前日期是第31个月,而且两个月之前没有31天,则可能会为此代码带来问题。 8月是31天和2个月之前没有的唯一月份(6月有30天)。
答案 1 :(得分:4)
试试这个:
var d = new Date();
d.setMonth(d.getMonth() - 2);
$("#datepickerselector").datepicker('setDate',d);
希望这有帮助。