问题描述
我想将Datepicker生成的 'clientId' => $this->clientid,'storeKey' => $this->storeKey,'storeType' => '3D_PAY_HOSTING','okUrl' => $redirecturl,'failUrl' => $redirecturl,'3DGateUrl' => $this->D3GateUrl,
传递给selectedDate
在datePicker中,默认情况下使用当前日期生成valider_planning.addEventListener('click',function(){})
,或者如果用户选择特定日期,则selectedDate
会更改。
我试图通过传递一个全局变量来完成此操作,但是它似乎不适用于selectedDate
生成的onSelect: function(selectedDate)
这是要做的:当用户按下valider_planning
按钮时,我可以通过Ajax将信息发送到我的PHP文件中以验证计划。
这是我的代码:
let current_date;
var date_choisie;
var selectedDate;
const user = $("#user").val();
const boutique = $("#boutique").val();
// Datepicker on navBar
$( function() {
$("#calendrier").datepicker({
dateFormat: "yy-mm-dd",onSelect: function(selectedDate) {
console.log("Date apres choix : " + selectedDate + "type : " + typeof(selectedDate) + "Employé : " + user + "Boutique : " + boutique);
AjaxCall(selectedDate,boutique);
}
})
//set date as current (by default)
$("#calendrier").datepicker('setDate',new Date());
//get date in a variable
date_choisie = $('#calendrier').datepicker('getDate');
selectedDate = $.datepicker.formatDate("yy-mm-dd",date_choisie);
console.log("date par défaut : "+ selectedDate + "type : " + typeof(selectedDate) +"Employé : " + user + "Boutique : " + boutique);
AjaxCall(selectedDate,boutique);
} );
valider_planning.addEventListener('click',function(){
$.ajax({
method: 'get',url: 'http://planning-ilm.atwebpages.com/valider_planning/' + selectedDate + '/' + boutique,dataType: 'json',success: function(data){
showplannings(data.datecourante,data.message,affectation);
plannings2 = data.message;
datecourante2 = data.datecourante;
}
});
$("#validation_modal")[0].style.visibility = "visible";
$("#validation_modal")[0].style.display = "block";
})
解决方法
我想我已经解决了:
我把selectedDate
更改为selectedDate2
,并添加了selectedDate = selectedDate2
var selectedDate;
$( function() {
$("#calendrier").datepicker({
dateFormat: "yy-mm-dd",onSelect: function(selectedDate2) {
console.log("Date apres choix : " + selectedDate2 + "type : " + typeof(selectedDate2) + "Employé : " + user + "Boutique : " + boutique);
AjaxCall(selectedDate2,boutique);
selectedDate = selectedDate2;
}
})
//set date as current
$("#calendrier").datepicker('setDate',new Date());
//get date in a variable
date_choisie = $('#calendrier').datepicker('getDate');
selectedDate = $.datepicker.formatDate("yy-mm-dd",date_choisie);
console.log("date par défaut : "+ selectedDate + "type : " + typeof(selectedDate) +"Employé : " + user + "Boutique : " + boutique);
AjaxCall(selectedDate,boutique);
} );