JQuery UI datepicker: comment lier un événement APRÈS le calendrier a été rendue?
Je suis en utilisant datepicker. La façon habituelle de lier un événement, disons par exemple, beforeShowDay
, serait:
$('.selector').datepicker({
beforeShowDay: function(date) { ... }
});
Ce dont j'ai besoin est de se lier à la beforeShowDay
événement après le calendrier a été rendu. Alors, disons que j'ai d'abord rendu le calendrier:
$('.mySpecialContainer').datepicker({
//in this moment, for some reason, I am not allowed to bind nothing (that's not me who renders the calendar, that's why I am not allowed)
});
Et puis, si j'essaie de lier quelque chose dans la manière habituelle:
$('.mySpecialContainer').datepicker({
beforeShowDay: function(date) { ... }
});
Le calendrier sera - bien sûr - rendu de nouveau à l'intérieur de '.mySpecialContainer'
, au lieu de simplement la liaison de l'événement. J'ai essayé:
$('.mySpecialContainer').bind('beforeShowDay', function(date) { ... });
Mais c'était juste une tentative désespérée d'action 🙂
OriginalL'auteur bluefoot | 2011-03-05
Vous devez vous connecter pour publier un commentaire.
Ça n'a pas de sens pour moi pourquoi vous ne pouvez pas appeler
bind
surdatepicker
événement (ou, d'ailleurs, la plupart desdatepicker
événements). La plupart des autres jQueryUI les widgets permettent de liaison tardive des événements.Cependant, vous pouvez essayer ce qui suit.
hasDatepicker
est appliqué à datepickers, et en appelant.datepicker
de nouveau sur ces éléments est pas la réinitialisation du widget, c'est juste de la modification d'une option:$('.mySpecialContainer').datepicker({ beforeShowDay: function(date) { ... } });
cela ne fonctionne pas pour moi, parce que le calendrier est déjà rendu. est-il une manière formelle que je peux obtenir le DatePicker de l'objet? Je suis en train$('.hasDatepicker')
mais ce juste un sélecteur qui m'apporte un conteneur, mais rien queJe pensais que tu avais un sélecteur qui contenait des éléments avec datepicker widgets attaché? Vous dites que vous avez besoin de trouver des éléments avec
datepicker
s attaché et joindre à l'événement?Je crois que je vois ce que tu veux dire.
$(".hasDatepicker")
renvoyer le ou les élément(s) quedatepicker()
a d'abord été appelé, mais vous pouvez modifier les options en utilisant les.datepicker("option", ...)
fonction, voir mon jour de réponse. Je peux vous donner un exemple, si nécessaire.juste de la même manière. mon conteneur est un
<div id="whatever" />
si je ne$('#whatever').datepicker()
, il crée un intérieur de l'élément (parmi d'autres choses) la classehasDatepicker
. J'ai déjà essayé votre deuxième exemple avant. nous essayons de découvrir ce sur les faces principales du forum: primefaces.prime.com.tr/forum/...Vous devez retourner le tableau prévu à partir du gestionnaire d'événement. Découvrez cet exemple: jsfiddle.net/andrewwhitaker/yrv5t/2 Ce qui est différent au sujet de ce que vous essayez de faire?
OriginalL'auteur Andrew Whitaker
OriginalL'auteur Sam Thompson
Avec
J'ai le prochain bug:
Il semble que vous n'avez pas testé cette.
OriginalL'auteur Federico Martín Lara
Vous avez besoin
.live()
.http://api.jquery.com/live/
À la réflexion, je pense que j'ai mal compris la question... Vous avez besoin d'avoir un datepicker sans fonction, et puis plus tard, de lui donner une fonction? Vous serez probablement mieux de retirer le datepicker et de le remettre sur.
OriginalL'auteur Chris Sobolewski