Calendrier JQUERY / instruction "beforeShowDay"

Résolu/Fermé
zeitoun69 Messages postés 57 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 27 juin 2013 - 21 mai 2013 à 18:47
zeitoun69 Messages postés 57 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 27 juin 2013 - 23 mai 2013 à 19:47
Bonjour, j'utilise le calendrier jquery pour indiquer deux choses :
- les dates deja bloquées
- les différents tarifs applicables selon des saisons (j'en ai 7 différentes)

grace à l'instruction "beforeShowDay" je sais traiter ces 2 types d'informations séparément comme dans les exemples qui suivent mais je n'arrive pas à les combiner afin de pouvoir afficher les deux types d'informations dans le même calendrier (pour les dates libres, indiquer le type de saison, sinon indiquer que la date est bloquée et non séléctionnable)

$(document).ready(function() {


var date = new Date();
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();

var disabledDays = [...ici j'insère une liste de date ...];
function disableAllTheseDays(date) {

for (i = 0; i < disabledDays.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
return [false,"","Réservé"];
}
}
return [true];

}
$('#datepicker5').datepicker({
numberOfMonths: 3,
showWeek: true,
rangeSelect: true,
firstDay: 6,
minDate: new Date(y, m, d),
maxDate: new Date(2013, 12 - 1, 31),
beforeShowDay : function(d){
var A1d = new Date(2013, 3, 01);
var A1f = new Date(2013, 3, 12);
var A2d = new Date(2013, 8, 28);
var A2f = new Date(2013, 11, 20);
return [true,
A1d <= d && d <= A1f ? "my-classA":
A2d <= d && d <= A2f ? "my-classA":"",
A1d <= d && d <= A1f ? "Class A":
A2d <= d && d <= A2f ? "Class A":""];},
beforeShowDay :disableAllTheseDays


});
});

en résumé, d'un cote j'ai :

beforeShowDay : disableAllTheseDays

et de l'autre :

beforeShowDay : function(d){
var A1d = new Date(2013, 3, 01);
var A1f = new Date(2013, 3, 12);
var A2d = new Date(2013, 8, 28);
var A2f = new Date(2013, 11, 20);
return [true,
A1d <= d && d <= A1f ? "my-classA":
A2d <= d && d <= A2f ? "my-classA":"",
A1d <= d && d <= A1f ? "Class A":
A2d <= d && d <= A2f ? "Class A":""];}

Si l'un d'entre vous peut m'aider à trouver la solution, je vous en remercie par avance
A voir également:

2 réponses

zeitoun69 Messages postés 57 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 27 juin 2013 5
21 mai 2013 à 22:20
J'ai essaye en passant une partie en fonction mais cela ne fonctionne pas à moins qu'il y ai une erreur ...

$(document).ready(function() {
function saisons (d){
return [true,
A1d <= d && d <= A1f ? "my-classA":
A2d <= d && d <= A2f ? "my-classA":
C1d <= d && d <= C1f ? "my-classC":

"",
A1d <= d && d <= A1f ? "Saison A":

A2d <= d && d <= A2f ? "Saison A":

C1d <= d && d <= C1f ? "Saison C":



""];
}
// get the current date
var date = new Date();
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();

var disabledDays = ["5-18-2013","5-19-2013","5-20-2013","5-21-2013","5-22-2013","5-23-2013","5-25-2013","5-26-2013","5-27-2013","5-28-2013","5-29-2013","5-30-2013","5-31-2013","6-1-2013","6-2-2013","6-3-2013","6-4-2013","6-5-2013","6-6-2013","6-7-2013","6-8-2013","6-9-2013","6-10-2013","6-11-2013","6-12-2013","6-13-2013","6-14-2013","6-15-2013","6-16-2013","6-17-2013","6-18-2013","6-19-2013","6-20-2013"];
function disableAllTheseDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) == -1) {
saisons(date);
}
}
return [false];
}
merci d'avance
0
zeitoun69 Messages postés 57 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 27 juin 2013 5
23 mai 2013 à 19:47
Pour ceux que ca interesserait ..., j'ai résolu mon problème la solution est à l'adresse suivante http://jsfiddle.net/pUk4S/4/
0