我想从表单中选择的天数和开始日期设置结束日期的值。我试过这个,但它不起作用。
$(document).on('change', "#startDate", function (e) {
e.preventDefault();
var nbDays = $("#nbDays").val();
var startDt = $("#startDate").val();
var endDt = $("#endDate").val();
$("#endDate").val(startDt + nbDays) ;
});
答案 0 :(得分:1)
jQuery对处理日期没什么大帮助。尝试moment.js进行日期操作!
moment.js可以将字符串解析为日期对象:
startDate = moment(startDate_string);
它可以做补充:
endDate = startDate.add( nbdays, 'days');
它可以帮助将日期再次格式化为字符串(您可以根据语言/语言环境的日期约定更改此内容)
endDate.format('MM/DD/YYYY');
有关完整的示例代码,请参阅https://jsfiddle.net/bjelline/24440qqr/。
答案 1 :(得分:0)
使用javascript Date对象。这个问题已经回答了多个地方。以下是previous SO thread修改为您的规格的一个示例:
$(document).on('change', "#startDate", function (e) {
e.preventDefault();
var nbDays = $("#nbDays").val();
var startDt = $("#startDate").val();
//Depeneding on the what the startDt value is,
//you may have to use a different date constructor
var dat = new Date(startDt);
dat.setDate(dat.getDate() + nbDays)
//Depending on what the required output format is,
//you may want to grab the MM DD YY of date and format
//to your specs
$("#endDate").val(dat);
});
Here's the documentation在javascript Date对象上。