因此,我能够成功地计算出到日期之间的日差。我的问题是我正在做的.append方法是在每个更改事件上添加新的差异(这是正确的),我需要知道的是,当输入新的日期范围时,如何替换这个差异。下面是我的HTML:
<input id='from' />
<input id='to' />
<div class='calculated'></div>
jQuery:
var diff = 0;
jQuery('#from').datepicker({
dateFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true,
});
jQuery('#to').datepicker({
dateFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true,
});
jQuery('#from').datepicker().bind("change", function () {
var minValue = jQuery(this).val();
minValue = jQuery.datepicker.parseDate("yy-mm-dd", minValue);
jQuery('#to').datepicker("option", "minDate", minValue);
calculate();
});
jQuery('#to').datepicker().bind("change", function () {
var maxValue = jQuery(this).val();
maxValue = jQuery.datepicker.parseDate("yy-mm-dd", maxValue);
jQuery('#from').datepicker("option", "maxDate", maxValue);
calculate();
});
function calculate() {
var d1 = jQuery('#from').datepicker('getDate');
var d2 = jQuery('#to').datepicker('getDate');
var oneDay = 24*60*60*1000;
if (d1 && d2) {
diff = Math.round(Math.abs((d2.getTime() - d1.getTime())/(oneDay)));
}
jQuery('.calculated').val(diff);
}
发布于 2016-02-02 06:49:00
使用text()
或html()
替换div
的内容,而不是append()
:
jQuery('.calculated').html(diff);
或者:
jQuery('.calculated').text(diff);
假设您的div
中有比数字更多的内容,您可以使用一个子容器,比如一个span
,或者其他您喜欢的div
。以下是您更新的jsfiddle:http://jsfiddle.net/vxb72b1L/59/
https://stackoverflow.com/questions/35156502
复制相似问题