Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Bootstrap(Twitter)日期选择器差异计算返回;“南”;_Javascript_Jquery_Twitter Bootstrap_Datepicker - Fatal编程技术网

Javascript Bootstrap(Twitter)日期选择器差异计算返回;“南”;

Javascript Bootstrap(Twitter)日期选择器差异计算返回;“南”;,javascript,jquery,twitter-bootstrap,datepicker,Javascript,Jquery,Twitter Bootstrap,Datepicker,以下代码在更改日期返回“NaN”(不是数字)值。我认为Flow是正确的,但我不知道它如何返回NaN $(function() { $('.datepicker').datepicker({format: "yyyy-mm-dd"}); var calculateDuration = function() { var start_date = $('#start_date').datepicker('getDate'); var end_date = $('#en

以下代码在更改日期返回“NaN”(不是数字)值。我认为Flow是正确的,但我不知道它如何返回NaN

$(function() {    
$('.datepicker').datepicker({format: "yyyy-mm-dd"});

    var calculateDuration = function() {
    var start_date = $('#start_date').datepicker('getDate');
    var end_date = $('#end_date').datepicker('getDate');
    document.getElementById('reservation_duration').value = (Number(end_date) - Number(start_date)) / 86400000;
    }

$('#end_date').change(calculateDuration);
$('#start_date').change(calculateDuration);

});
这是日期选择器:

。日期选择器('getDate')
不是有效的方法。您可能只需要字段的值,例如,
$(“#开始日期”).val()

更新 您仍然需要将字段值转换为适合算术运算的格式:

var startDate = new Date($('#start_date').val());
var endDate = new Date($('#end_date').val());
var delta = endDate - startDate;
.datepicker('getDate')
不是有效的方法。您可能只需要字段的值,例如,
$(“#开始日期”).val()

更新 您仍然需要将字段值转换为适合算术运算的格式:

var startDate = new Date($('#start_date').val());
var endDate = new Date($('#end_date').val());
var delta = endDate - startDate;

遵循安德烈·迪翁的建议,并使其发挥作用

$(function() {    
    $('.datepicker').datepicker({format: "yyyy-mm-dd"});

var calculateDuration = function() {
    var startDate = new Date($('#start_date').val());
    var endDate = new Date($('#end_date').val());
    var diff = endDate - startDate;
    document.getElementById('reservation_duration').value = (Number(diff) / 86400000) +1;
}

$('#end_date').change(calculateDuration);
$('#start_date').change(calculateDuration);

});

遵循安德烈·迪翁的建议,并使其发挥作用

$(function() {    
    $('.datepicker').datepicker({format: "yyyy-mm-dd"});

var calculateDuration = function() {
    var startDate = new Date($('#start_date').val());
    var endDate = new Date($('#end_date').val());
    var diff = endDate - startDate;
    document.getElementById('reservation_duration').value = (Number(diff) / 86400000) +1;
}

$('#end_date').change(calculateDuration);
$('#start_date').change(calculateDuration);

});

哈哈,对不起mistake@PiLHA哈哈,别担心!:)哈哈,对不起mistake@PiLHA哈哈,别担心!:)您需要将字符串转换为合适的值。只需按您尝试的方式铸造一个日期戳,例如
07/05/2013
,就会返回
NaN
console.log(Number('07/05/2013'))
您在钱的问题上绝对正确。我在这个线程中添加了工作代码作为答案。太谢谢你了您需要将字符串转换为合适的值。只需按您尝试的方式铸造一个日期戳,例如
07/05/2013
,就会返回
NaN
console.log(Number('07/05/2013'))
您在钱的问题上绝对正确。我在这个线程中添加了工作代码作为答案。太谢谢你了