我已将JQuery Datepicker控件添加到我的一个ASP.Net页面中。该页面允许用户添加有关设备的详细信息。
他们还可以使用Datepicker选择他们购买设备的日期,然后从下拉列表中选择设备随附的保修期(即1,2,3,4,5岁等)。根据他们选择的保修期,我需要JQuery代码来计算设备保修期限的日期,即,如果购买21/02/2011,3年保修,则保修到期日为21/02/2014。 / p>
我已经查看了此网站上的其他Datepicker示例,但似乎没有显示如何将日期添加到日期,而只是如何添加日期。
这是我目前的代码
$('#equipment_purchaseDate').datepicker({ dateFormat: 'dd/mm/yy', onSelect: function (dateStr) {
var d = $.datepicker.parseDate('dd/mm/yy', dateStr);
d.setDate(d.getDate() + ($('#equipment_warrantyLength').val() * 365)); //multiple warranty length by 365 to get years, then add to startDate
$('#equipment_warrentyExpires').datepicker('setDate', d);
}
});
然而,这似乎无法正常工作。
非常感谢任何反馈。
感谢。
答案 0 :(得分:5)
尝试使用Date
的{{3}}和setFullYear
:
$("#equipment_purchaseDate").datepicker({
dateFormat: 'dd/mm/yy',
onSelect: function(dateStr) {
var d = $.datepicker.parseDate('dd/mm/yy', dateStr);
var years = parseInt($("#equipment_warrantyLength").val(), 10);
d.setFullYear(d.getFullYear() + years);
$('#equipment_warrentyExpires').datepicker('setDate', d);
}
});
以下是一个有效的例子:getFullYear
答案 1 :(得分:1)
您可能必须为其他字段定义日期时间选择器:
$('#equipment_warrentyExpires').datepicker({ dateFormat: 'dd/mm/yy' });
$('#equipment_purchaseDate').datepicker({ dateFormat: 'dd/mm/yy',
onSelect: function (dateText, inst) {
alert(dateText);
var d = $.datepicker.parseDate('dd/mm/yy', dateText);
alert(d);
d.setDate(d.getDate() + ($('#equipment_warrantyLength').val() * 365)+1);
//multiple warranty length by 365 to get years, then add to startDate
$('#equipment_warrentyExpires').datepicker('setDate', d);
}
});
我稍微改了一下。
答案 2 :(得分:0)
var incrementmonth = $("#<%=calPlannedCompletionDate.ClientId%>").datepicker('getDate', +12m');
incrementmonth.setMonth(incrementmonth.getMonth() + 12);
$("#<%=calPlannedCompletionDate.ClientId%>").datepicker('setDate', incrementmonth);