2009-10-07 11 views
2

Je veux dire, j'ai trouvé here un moyen de désactiver un tableau de nationalDays. J'essaye de faire un code pour désactiver les jours nationaux et aussi mettre en évidence quelques autres jours (je code une application web et je passerai un autre tableau de jours) mais pour les laisser activés. Imaginez un calendrier où vous pouvez voir trois couleurs de jour différentes. Le premier, la date d'aujourd'hui. La deuxième, les journées nationales des personnes handicapées, grisées. Et dans une troisième couleur, des jours différents où quelque chose de spécial va se passer.Comment utiliser Jquery Datepicker pour mettre en évidence avec befereshowday deux types de dates spéciales?

Est-ce possible?

En outre, où puis-je trouver les codes de css dans datepicker ui pour changer la date par défaut, et la date de désactivation css propriétés.

Merci d'avance.

Répondre

3

Sur la base de la fonction de la page liée à:

$(".selector").datepicker({ beforeShowDay: specialAndNationalDays}); 

natDays = [ 
    [1, 26, 'au'], [2, 6, 'nz'], [3, 17, 'ie'], 
    [4, 27, 'za'], [5, 25, 'ar'], [6, 6, 'se'], 
    [7, 4, 'us'], [8, 17, 'id'], [9, 7, 'br'], 
    [10, 1, 'cn'], [11, 22, 'lb'], [12, 12, 'ke'] 
]; 
speDays = [ 
    [1, 10, 'mbd'], // Moms Bday 
    [7, 20, 'dbd'] // Dads Bday 
]; 

function nationalDays(date) { 
    for (i = 0; i < natDays.length; i++) { 
     if (date.getMonth() == natDays[i][0] - 1 
      && date.getDate() == natDays[i][1]) { 
     return [false, natDays[i][2] + '_day']; 
     } 
    } 
    return [true, '']; 
} 
function specialAndNationalDays(date) { 
    for (i = 0; i < speDays.length; i++) { 
     if (date.getMonth() == speDays[i][0] - 1 
      && date.getDate() == speDays[i][1]) { 
     return [true, speDays[i][2] + '_day']; 
     // first variable in return enables(true)/disables(false) the date 
     } 
    } 
    return nationalDays(date); 
} 
+0

Je pense que quelque chose ne fonctionne pas correctement. La deuxième fonction (specialAndNationalNays) appelle la première (nationalDays) et les journées nationales sont en cours de désactivation. Mais rien ne se passe avec les autres jours spéciaux. J'ai essayé de changer vrai/faux dans la ligne de retour de la fonction des jours spéciaux mais cela ne semble pas fonctionner. Je vais essayer de trouver pourquoi pas et le poster si je trouve la réponse. Merci!! – Darklomba

+0

Jojo ... Je suis désolé, ça marche !! J'ai oublié de changer le nom de la fonction dans mes paramètres de calendrier. Merci beaucoup!! – Darklomba

+0

Content de l'entendre. Bonne chance! – Jojo

Questions connexes