8
votes

JQuery UI DaysPicker: Comment lier un événement après que le calendrier ait été rendu?

J'utilise datePicker . La façon habituelle de lier un événement, disons par exemple, avant-% code>, serait le suivant: xxx pré>

ce dont j'ai besoin est de lier le sur le jour code > événement après que le calendrier ait été rendu. Donc, disons d'abord que je rends le calendrier: p> xxx pré>

et ensuite, si j'essaie de lier quelque chose de manière habituelle: p>

$('.mySpecialContainer').bind('beforeShowDay', function(date) { ... });


0 commentaires

3 Réponses :


-2
votes

Vous avez besoin .Live () . http://api.jquerery.com/live/ xxx

À la deuxième pensée, je pense que j'ai mal compris la question ... Vous devez avoir un salepicker sans fonction, puis plus tard, donnez-lui une fonction? Vous serez probablement préférable de supprimer la datePicker et de le remettre.


1 commentaires

Oui. Le DatePicker est créé par JSF PremiersFaces et il est lié à un champ gérébean. Donc, je ne veux pas gâcher avec ça. Je veux juste lier l'événement après que le composant soit rendu avec des techniques principales. Alors, retirez la datePicker et de le remettre sur: aucun moyen :)



10
votes

Cela n'a pas de sens pour moi pourquoi vous ne pouvez pas appeler lid code> sur ce particulier datationPicker code> événement (ou, à ce sujet, la plupart des DatePicker événements). La plupart des autres widgets JQueryui permettent une liaison tardive d'événements.

Cependant, vous pouvez essayer ce qui suit. HASDatePicker CODE> est appliqué à DatePickers et appeler .DatePicker > à nouveau sur ces éléments est pas em> réinitialiser le widget, il suffit de modifier une option: p >

$('.hasDatepicker').datepicker("option", "beforeShowDay", 
    function(date) { ... });


7 commentaires

Ceci est juste le même que $ ('. myspecialContainer'). DatePicker ({Beforechowday: fonction (date) {...}}); Cela ne fonctionnera pas pour moi, car le calendrier est déjà rendu. Y a-t-il une manière formelle que je puisse obtenir l'objet DatePicker? J'essaie $ ('. HASDatePicker') Mais ce juste un sélecteur qui me fait un conteneur, rien que ça


@Bluefoot: Je pensais que vous aviez un sélecteur qui contenait des éléments avec des widgets de saintepicker attachés? Vous dites que vous devez trouver des éléments avec DatePicker s joint et alors joindre l'événement?


@Bluefoot: Je pense que je vois ce que tu veux dire. $ (". hasDatePicker") renvoie l'élément (s) que datationPicker () a été initialement appelé, mais vous pouvez modifier les options à l'aide du .DatePicker ("option", ...) fonction, voir ma réponse mise à jour. Je peux fournir un exemple si nécessaire.


Juste pareil à nouveau. mon conteneur est un

si je fais $ ('# quoi que ce soit'). DatePicker () , il crée un élément interne avec (AMONT Autres choses) La classe HASDatePicker . J'ai déjà essayé votre deuxième exemple auparavant. Nous essayons de découvrir cela sur le forum Premier Faces: primefaces.prime.com.tr/forum/...


Ceci est peut-être purement un problème de qualité supérieure? Je n'ai jamais travaillé avec ça avant. Cependant, vous devriez certainement pouvoir saisir une instance de widget JQuery et la modifier.


Je ne parle plus de plus grandesFaces. J'essaie dans un fichier HTML pur. Il n'a qu'un div avec ID datePicker . et un script $ ("#datepicker") .DatePicker (); , pour créer la datePicker. Quand j'exécute votre $ ('. HasdatePicker'). DatePicker ("Option", "Beforechowday", fonction (date) {alerte ("quoi que ce soit ')}); Il détruit juste la date du picker. Il semble que les événements de redevabilité à un dayspicker ne fonctionne que dans le temps de création ...


@Bluefoot: Vous devez retourner la matrice attendue du gestionnaire d'événements. Consultez cet exemple: jsfiddle.net/andrewwhker/yrv5t/2 Qu'est-ce qui est différent de ce que vous 'Est-ce que j'essaie de faire?



1
votes
$('.ui-datepicker-current-day').click();

0 commentaires