Salut tout le monde, j'utilise dijit.form.DateTextBox pour afficher la date et je veux désactiver certains jours dans un mois donné. Quelqu'un sait comment on peut faire ? Merci.
Salut tout le monde, j'utilise dijit.form.DateTextBox pour afficher la date et je veux désactiver certains jours dans un mois donné. Quelqu'un sait comment on peut faire ? Merci.
Bonjour,
Pour "desactiver" des jours dans la dateTextBox il faut utiliser :
Il y a min : qui désactive tous les jours antérieurs a la date choisie
Code : Sélectionner tout - Visualiser dans une fenêtre à part dijit.byId('maDateBox').constraints
Il y a max : qui désactive tous les postérieurs a la date choisie
Si c'est pour désactiver un jour spécifique, je ne pense pas que ce soit possible. Dans ce cas, il faut se reporter vers les expressions régulières.
merci Daniel ça marche parfaitement![]()
Le min et max ne désactivent pas un intervalle précis. Par exemple, je voudrais désactiver les jours entre le '14/04/2011' et le '19/04/2011'. Quelqu'un peut-il m'aider, s'il vous plait ?![]()
Salut, je ne sais pas si ça va t'aider, je viens de regarder le HTML généré par dojo lorsque tu lui dit de faire un calendrier.
Si tu regardes avec l'outil de développeur chrome par exemple, fais une recherche de "dijitCalendarCurrentMonth" c'est le nom d'une classe Dojo. Elle doit correspondre à un CSS.
Ce que tu veux faire tu peux donc le détourner après le chargement du calendrier par dojo (ready).
Tu changes la classe "dijitCalendarDateLabel" des <td> de date voulue par une classe que tu crées (par exemple "dijitCalendarDateLabelDisabled") et tu y associes le css voulu. Si tu comprends ma démarche, j'espère que l'idée t'aidera.
salut voila ce que j'ai fait
j'ai redéfinie la méthode isDisabledDate
oui ça marche mais j'ai changé le widjet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 new dijit.Calendar({ id :'date', name : 'date', type : "text", value: new Date(), isDisabledDate: function(d) { var d = new Date(d.getFullYear(),d.getMonth(),d.getDate()); var dateDep = new Date('2011','04','14'); var dateFin = new Date('2011','04','18'); if(d >= dateDep && d <= dateFin) return true; }
Bonne idée ! et c'est ce qu'il y a de plus simple en plus. Bien joué
merci cfried c'est gentil
Partager