我正在开发一个小型webapp来计算天数。
我发现的是:
function cost() {
var oneDay = 24*60*60*1000; //hours*minutes*seconds*milliseconds
var firstDate = new Date(2008,01,12); //Would like to input it myself
var secondDate = new Date(2008,01,22); //Would like to input it myself
var diffDays = Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay));
var priceInDays = diffDays * 250;
alert(priceInDays);
}
我想要的是动态设置日期。我使用Chrome日期选择器将返回日期:2017-03-30。我尝试过这样的事情:
var firstDate = document.getElementById('dateRent').value;
var secondDate = document.getElementById('dateEnd').value;
但这没有成功。所以现在,日期设置为硬编码方式。它会在警报框中给我10 * 250 = 2500。
我创建了一个jsfiddle(一个问题,它没有处理我的功能,找不到问题。https://jsfiddle.net/w93c571x/3/
答案 0 :(得分:1)
你非常关闭。试试这个:
var firstDate = new Date(document.getElementById('dateRent').value);
var secondDate = new Date(document.getElementById('dateEnd').value);
另外要修复你的小提琴,在计算按钮中添加一个id属性,并在事件监听器中调用cost()
函数,如下所示:
<强> HTML 强>
<a href="#" id="calculate">Calculate!</a>
<强> JS 强>
document.getElementById('calculate').addEventListener('click', cost);