4 pièce(s) jointe(s)
Gestion multiple de plage de jour avec les datepicker
Bonjour,
J'ai créer un datepicker pour pouvoir l'utiliser afin de faire des plages de date, donc pour ça je l'appel 2 fois avec la class ".datepicker" que j'ai créer et des id différent "dated" et "datef".
Voici un exemple :
Code:
1 2
| Du <INPUT type=text class=datepicker name=dated id=dated>
Au <INPUT type=text class=datepicker name=dated2 id=dated2> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| $( ".datepicker" ).datepicker({
showOn: "button",
buttonText: "Selectionner une date",
buttonImage: "/weliteimages/calendrier.gif",
buttonImageOnly: true,
changeMonth: true,
changeYear: true,
showWeek: true
});
$( ".ui-datepicker" ).css("font-size", "10px");
/* Permet d'eviter de mettre n'importe quel date */
$("#dated").datepicker('option','onSelect',function() {
$("#datef").datepicker('option','minDate',
new Date($(this).datepicker('getDate').getTime()+86400000)
);
});
$("#datef").datepicker('option','onSelect',function() {
$("#dated").datepicker('option','maxDate',
new Date($(this).datepicker('getDate').getTime()-86400000)
);
}); |
Voilà en gros le résultat donne ça :
Pièce jointe 146420Pièce jointe 146421
En gros cela permet d'éviter de mettre n'importe quel date pour la plage de date.
Cependant quand je souhaite faire une deuxième plage sur la même page il me suffit simplement de dupliquer le code avec les nouveaux id. Mais dupliquer j'aime pas et ce que je souhaite faire c'est ça :
Code:
1 2 3 4 5 6 7 8 9 10
| $("#dated, #dated2, #dated3").datepicker('option','onSelect',function() {
$("#datef, #datef2, #datef3").datepicker('option','minDate',
new Date($(this).datepicker('getDate').getTime()+86400000)
);
});
$("#datef, #datef2, #datef3").datepicker('option','onSelect',function() {
$("#dated, #dated2, #dated3").datepicker('option','maxDate',
new Date($(this).datepicker('getDate').getTime()-86400000)
);
}); |
Mais sa ne marche pas, enfin pas correctement. En gros la contrainte n'arrive pas à clairement différencier les 3 plages (dated/datef, dated2/datef2 et dated3/datef3) sans les mélanger.
Pièce jointe 146422Pièce jointe 146424
Donc comme on peut le voir le premier datepicker de la deuxième plage à la contrainte du deuxième datepicker de la première plage. :?
Je suppose que sa doit être tout bêtement par rapport au sélecteur css mais je vois pas comment,
Si vous avez une idée je suis preneur ;)