我正在使用日期选择器并有开始日期、契约(Contract)长度(年)和结束日期。这些都是输入字段。当选择开始日期和契约(Contract)长度时,它应该计算结束日期。
因此,如果开始日期为 01/02/2013 并且契约(Contract)长度为 2(年),则应计算出结束日期为 31/01/2015。我已经创建了一些 jQuery 并且非常接近,但在从输入中获取契约(Contract)长度时无法正确计算 endate。
HTML
<label>Start Date:</label>
<input type='text' name='startdate' id='startdate' />
<label>Contract Length (Year):</label>
<input type='text' name='contractlength' id='contractlength' />
<label>End Date:</label>
<input type='text' name='EndDate' id='EndDate' />
jQuery
$(function() {
$( "#startdate, #EndDate" ).datepicker({
defaultDate: "+1w",
dateFormat: 'dd/mm/yy',
changeMonth: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
if(this.id == 'startdate'){
var ContractTerm = $('#contractlength').val();
//var ContractTerm = 2;
var dateMin = $('#startdate').datepicker("getDate");
var rMax = new Date(dateMin.getFullYear() + ContractTerm, dateMin.getMonth(),dateMin.getDate() - 1);
$('#EndDate').val($.datepicker.formatDate('dd/mm/yy', new Date(rMax)));
}
}
});
});
最佳答案
试试这个...
$(function() {
$( "#startdate, #EndDate" ).datepicker({
defaultDate: "+1w",
dateFormat: 'dd/mm/yy',
changeMonth: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
if(this.id == 'startdate'){
var ContractTerm = $('#contractlength').val();
//var ContractTerm = 2;
var dateMin = $('#startdate').datepicker("getDate");
var rMax = new Date(dateMin.getFullYear() + parseInt(ContractTerm), dateMin.getMonth(),dateMin.getDate() - 1);
$('#EndDate').val($.datepicker.formatDate('dd/mm/yy', new Date(rMax)));
}
}
});
});
关于jQuery 添加 Year) 至今,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14790211/