2017-09-12 1 views
0

Grundsätzlich funktionieren, was ich möchte einen variablen Wert innerhalb der onSelect Funktion erreichen, ist zu müssen. Dieser Wert wird in der Dom-Ready-Funktion eingestellt. Ich brauche diese Variable, um eine Funktion namens checkDates immer dann auszuführen, wenn eine Änderung in der Datumsauswahl vorliegt.Wie kann ich eine Variable in eine Datumsauswahl passieren onSelect

jQuery(function(){ 
    var myVar = 'xzy'; 
}); 

$("#PeriodStartDate").datepicker({    
    onSelect: function(dateText) {   
    console.log(myVar); 
    checkDates(this.value, $('#EffectiveStartDate').val(), myVar);   
    } 
}); 
+0

Put var myVar; außerhalb der Schließung und zuweisen myVar = 'Xzy'; in der Schließung? – Adriani6

+0

Sie können nicht. Sie müssen die Variable im globalen Gültigkeitsbereich verfügbar haben oder eine Funktion aufrufen, um sie innerhalb des 'onSelect'-Handlers abzurufen. Vorzugsweise sollten letztere, wie globale Variablen möglichst vermieden werden. Beachten Sie außerdem, dass Sie den 'datepicker()' * außerhalb * des document.ready-Event-Handlers definieren, so dass er überhaupt nicht funktioniert. –

Antwort

1
var myVar; 
jQuery(function(){ 
     myVar = 'xzy'; 
    }); 

$("#PeriodStartDate").datepicker({    
     onSelect: function(dateText) {   
      console.log(myVar); 
      checkDates(this.value,$('#EffectiveStartDate').val(),myVar);   
     } 
    }); 
Verwandte Themen