![](/img/trans.png)
[英]how to “link” two drop-down lists with php, javascript, mysql?
[英]How to pass PHP drop-down value to getFullYear() in JavaScript?
我有兩個日期選擇器,即從第一個日期選擇器中選擇一個日期並從下拉列表中選擇一個值,在此基礎上我試圖計算下一個日期選擇器中的下一個日期,並以此為基礎計算日期差異。 但是當我將下拉值傳遞給我的函數時,它給了我錯誤的結果。
這是我的代碼:
$('#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/
歡迎任何形式的幫助。 提前致謝。
我不明白您的問題是什么,但我修復了您的代碼中的一些問題。
我替換了getELEdifference($('ELEdatepicker1'),$('#ELEdatepicker2'));
而不是getELEdifference($(this),$('#ELEdatepicker2'));
因為“this”是一個選擇框而不是日期選擇器。 另一個變化是為第一個日期選擇器的選擇框值和年份值添加 parseInt。
完整代碼: jsfiddle
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.