var isCalendarVisible;
$(".datepicker).datepicker().on("show", function() {
isCalendarVisible = true;
}).on("hide", function() {
isCalendarVisible = false;
});
Je l'ai utilisé cette approche pour faire basculer de datepicker sur un clic d'un bouton. isCalendarVisible
mise à jour sur 'show' & 'cacher' de datepicker en conséquence. Je vérifie la valeur de 'isCalendarVisible' pour l'ouvrir ou la fermer manuellement.
function toggleCalendar() {
if (isCalendarVisible) {
$(".datepicker .add-on").datepicker("hide");
} else {
$(".datepicker .add-on").datepicker("show");
}
}
La première fois que l'outil datepicker est attaché à un élément, il est invisible et reste visible. L'élément n'a pas encore le style display none mais il est toujours caché, et malheureusement, pas détecté dans votre code. Encore, +1. :) – mikong
Ahh, au premier chargement, vous devriez vérifier si c'est: vide. – mikong
Ne fonctionne pas pour moi. Les deux: vide et: visible renvoie toujours vrai - avant la première fois le datepicker est ouvert et toujours après. – AyCabron