【发布时间】:2018-07-18 16:04:59
【问题描述】:
我有两个日期选择器,即从第一个日期选择器中选择一个日期并从下拉列表中选择一个值,在此基础上,我试图在下一个日期选择器中计算下一个日期,并以此为基础我正在计算日期差异。但是当我将下拉值传递给我的函数时,它给了我错误的结果。
这是我的代码:
$('#ELEdatepicker1').datepicker({
autoclose: true,
endDate: new Date(),
todayHighlight: true,
});
$('#ELEDuration').change(function(){
var duration = $('#ELEDuration').val();
var date2 = $('#ELEdatepicker1').datepicker('getDate');
date2.setYear(date2.getFullYear() + duration);
date2.setMonth(date2.getMonth());
date2.setDate(date2.getDate());
$('#ELEdatepicker2').datepicker('setDate', date2);
$('#ELEdatepicker2').datepicker(date2);
getELEdifference($(this),$('#ELEdatepicker2'));
});
$('#ELEdatepicker2').datepicker({
autoclose: true,
startDate: new Date(),
todayHighlight: true,
}).change(function(){
getELEdifference($('#ELEdatepicker1'),$(this));
alert('Are you sure ?');
getELECurrentdifference($(this));
});
function getELEdifference($this1,$this2)
{
if($this1.datepicker("getDate") != null && $this2.datepicker("getDate") != null)
{
var ELEcertDiff= $this1.datepicker("getDate") - $this2.datepicker("getDate");
var result = ELEcertDiff / (1000 * 60 * 60 * 24) * -1;
//$("#ELEcertDiff").text(result);
document.getElementById("ELEcertDiff").value = result;
}
}
function getELECurrentdifference($this1)
{
var CtrDate = new Date();
if($this1.datepicker("getDate") != null)
{
var ELEcertCurrentDiff= $this1.datepicker("getDate") - CtrDate;
var result = Math.round(ELEcertCurrentDiff / (1000 * 60 * 60 * 24) * +1);
//$("#ELEcertDiff").text(result);
document.getElementById("ELEcertCurrentDiff").value = result+1;
}
}
这是小提琴: https://jsfiddle.net/5tfhgamL/
欢迎任何形式的帮助。提前致谢。
【问题讨论】:
标签: javascript php jquery datepicker