在我提交表单时,从jquery datepicker中的开始日期和天数计算结束日期

时间:2017-04-28 06:31:22

标签: javascript jquery date datepicker

当我输入日期和开始日期时我正在使用jquery datepicker我需要计算自动计算显示结束日期

这是我的表单提交功能

$("#promocode").on('submit', function(e){

    e.preventDefault(e);
    var valid_days = $(this).find("[name='valid_days']").val();
    var start_date= $(this).find("[name='start_date']").val();
    var end_date = new Date($(this).val());
    end_date.setDate(end_date.getDate() + valid_days);
    var end= $('#end_date').val( (end_date.getMonth() + 1)+ '/' + end_date.getDate() + '/' + end_date.getFullYear() );
    console.log(end);
});

当我输入日期和开始日期时,它会在结束日期字段中显示结束日期,如NaN/NaN/NaN

那么问题是有什么其他方法可以使用jquery datepicker

来获取我的结束日期

3 个答案:

答案 0 :(得分:1)

使用parseInt之类的

解析有效天数
// for number use ParseInt
var valid_days = parseInt($(this).find("[name='valid_days']").val());

并传递start_date来计算其中的valid_days,如

var valid_days = parseInt($(this).find("[name='valid_days']").val());
var start_date= $(this).find("[name='start_date']").val();
var end_date = new Date(start_date); // pass start date here
end_date.setDate(end_date.getDate() + valid_days);
var end= $('#end_date').val( (end_date.getMonth() + 1)+ '/' + end_date.getDate() + '/' + end_date.getFullYear() );
console.log(end);

答案 1 :(得分:0)

你可以改变这个并试试吗?

git cherry-pick ^J H..K

答案 2 :(得分:0)

这可以帮到你。我并没有放弃整个代码,因为你似乎知道自己在做什么

function plusToDate(currentDate, unit, howMuch) {

var config = {
    second: 1000, // 1000 miliseconds
    minute: 60000,
    hour: 3600000,
    day: 86400000,
    week: 604800000,
    month: 2592000000, // Assuming 30 days in a month
    year: 31536000000 // Assuming 365 days in year
};

var now = new Date(currentDate);

return new Date(now + config[unit] * howMuch);

}

这就是你使用它的方式

var today = new Date();
var theDayAfterTommorow = plusToDate(today, 'day', 2);