Calendrier JQUERY / instruction "beforeShowDay"

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