如何将日期传递给我的addEventListener函数?

问题描述

我想将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);
} );