我使用下面的Javascript来计算日期范围内的天数(2 Zebra Datepickers)并将值传递给输入字段'nights'..然后处理表单。 虽然我的Javascript工作正常,但我无法使用jQuery .val()
获得相同的结果使用Javascript:
setDifference = function(form)
{
var x = document.getElementById('startDate').value;
var y = document.getElementById('endDate').value;
var arr1 = x.split('-');
var arr2 = y.split('-');
var dt1 = new Date();
dt1.setFullYear(arr1[2], arr1[1], arr1[0]);
var dt2 = new Date();
dt2.setFullYear(arr2[2], arr2[1], arr2[0]);
document.getElementById('nights').value = (dt2.valueOf() - dt1.valueOf()) / (60 * 60 * 24 * 1000)
}
jQuery我到目前为止尝试过:
$(function() {
var startDate = $('#startDate').val();
var endDate = $('#endDate').val();
var dateSplit = startDate.split("-");
var dateSplit = endDate.split("-");
dateDiff = new Date(dateSplit[1] + " " + dateSplit[0] + ", " + dateSplit[2]);
var dateDiff = new Date(endDate - startDate);
var days = dateDiff/1000/60/60/24;
$('#nights').val(days);
});
我得到的错误是我试过的所有浏览器上的“NaN”或“无效日期”。
答案 0 :(得分:2)
您已宣布dateSplit
两次。因此,startdate和enddate将是相同的。