Calendrier JQUERY / instruction "beforeShowDay" [Résolu/Fermé]

Signaler
Messages postés
57
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
27 juin 2013
-
Messages postés
57
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
27 juin 2013
-
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

2 réponses

Messages postés
57
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
27 juin 2013
5
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
Messages postés
57
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
27 juin 2013
5
Pour ceux que ca interesserait ..., j'ai résolu mon problème la solution est à l'adresse suivante http://jsfiddle.net/pUk4S/4/