|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : avril 2006 Messages : 507 ![]() |
Bonjour à tous,
L'énoncé de mon problème est pratiquement contenu dans le titre de ce post... lorsque l'on change de mois sur mon datepicker l'évènement onChangeMonthYear lance une requête $.post qui récupère un tableau de date. beforeShowDay est censé mettre en surbrillance les dates contenues dans le tableau. Le problème étant que le temps que ma requête post s'exécute, beforeShowDay à déjà fini sa tache en traitant un tableau encore vide... est-il possible de conditionner l'execution de beforeShowDay à la fin de l'évènement onChangeMonthYear ? merci d'avance pour vos réponses |
|
|
00
|
|
|
#2 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
Peu importe le contexte, toutes les transactions AJAX sont asynchrones, donc l'exécution du code se poursuit indépendamment du résultat de la transaction AJAX et du temps nécessaire pour l'obtenir.
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : avril 2006 Messages : 507 ![]() |
Merci Daniel pour cette réponse,
Je m'en doutais un peu compte tenu du caractère asynchrones des requêtes. l'option permettant d'activer un caractère synchrone des requêtes (async: false) empecherait-elle beforeShowDay de s'exécuter tant que onChangeMonthYear (qui envoi une requête post) n'a pas fini sa tâche ? En attendant j'ai utilisé une autre solution qui est de charger dès l'initialisation du datepicker un tableau de toutes les dates dont j'ai besoin pour les 6 mois suivants. un peu plus lourd, plus long et moins élégant que l'idée de départ mais au moins ça marche ;-) Bonne journée à tous, je laisse ce Post ouvert encore un petit peu au cas ou... |
|
|
00
|
|
|
#4 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
Rendre la transaction AJAX synchrone c'est bloquer la page web et l'utilisateur qui risque d'aller voir ailleurs. Mais il y a les méthodes : enable, disable qui permettent de "mettre au frigo" le datepicker le temps voulu, mais cela peut-il fonctionner dans votre cas je l'ignore car je n'ai jamais testé un cas similaire. Voir : http://jqueryui.com/demos/datepicker/#method-enable Il y a aussi show et hide.
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#5 |
|
Membre éclairé
![]() sébastien courjeanInscription : novembre 2010 Messages : 204 ![]() |
Et pourquoi ne pas utiliser unbind sur l'évènement beforeShowDay lorsque onChangeMonthYear s'éxécute et ensuite tu bind beforeShowDay quand c'est fini non ?
|
|
|
00
|
|
|
#6 | |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonjour
Je pense que ce doit être faisable, mais je vois une objection. En désactivant uniquement l'événement "beforeShowDay" on n'empêche pas l'utilisateur de manipuler le Datepicker et de voir un tableau vide. Citation:
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() sébastien courjeanInscription : novembre 2010 Messages : 204 ![]() |
Bah après tu couple cette solution à la tienne pour obtenir le résultat voulu.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com