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 -
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
- 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:
- Calendrier JQUERY / instruction "beforeShowDay"
- Mon calendrier - Télécharger - Santé & Bien-être
- Logiciel gratuit conversion calendrier républicain - Télécharger - Études & Formations
- Calendrier partagé google - Guide
- Synchroniser calendrier outlook et gmail - Guide
- Logiciel calendrier personnalisé gratuit - Télécharger - Organisation
2 réponses
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
$(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
Pour ceux que ca interesserait ..., j'ai résolu mon problème la solution est à l'adresse suivante http://jsfiddle.net/pUk4S/4/