2010-03-05 6 views
-1

J'espère avoir de l'aide avec mon problème que j'ai eu avec jquery datepicker.Aide avec jquery datepicker calendrier date de désactivation

S'il vous plaît visiter ce site pour obtenir des informations sur le problème avec des exemples de code: http://codingforums.com/showthread.php?p=929427

Fondamentalement, je suis en train d'obtenir le 1er jour et le jour 31 de travail et ont encore trouvé un moyen de le faire. Ils disent que cela peut être une erreur dans le calendrier jquery.

Voici le code.

//var disabledDays = ['3-31-2010', '3-30-2010', '3-29-2010', '3-28-2010', '3-2-2010', '3-1-2010', '4-1-2010' ]; 

var checkDays = NULL;

noWeekendsOrHolidays fonction (date) { // option: faire en sorte que ce jour est la date seule, sans partie de temps: date = new Date (Date.getFullYear(), Date.getMonth(), Date.getDate());

// no point in checking if today is past the given data: 
if ((new Date()).getTime() > date.getTime()) return [false,'inthepast']; 

if (checkDays == null) 
{ 
checkDays = []; 
// convert disabledDays to a more reasonable JS form: 
for (var d = 0; d < disabledDays.length; ++d) 
{ 
    var p = disabledDays[d].split("-"); 
    checkDays[d] = new Date(parseInt(p[2]), parseInt(p[0])-1, parseInt(p[1])); 
} 
} 

var datetime = date.getTime(); 
for (var i = 0; i < checkDays.length; i++) 
{ 
if (checkDays[i].getTime() == datetime) return [false,'holiday']; 
} 
return [true,'']; // default CSS style when date is selectable 

}

jQuery(document).ready(function() { 
<% 
response.write "var theSelectedDay = $.datepicker.parseDate(""y-m-d"", '" & theDate & "');" & vbcr 
%> 

jQuery('#datepicker2').datepicker({ 
dateFormat: 'yy-mm-dd', 
constrainInput: true, 
firstDay: 1, 
defaultDate: theSelectedDay, 
beforeShowDay: noWeekendsOrHolidays, 
onSelect: function(date) { 
    endDate = date; 
    startDate = theSelectedDay; 
} 
}); 

});

Le theSelectedDay est formaté comme [ « 2010-3-1 »]

J'ai mis en arrière l'horloge sur mon ordinateur afin de tester cela. C'est le 1er mars.

J'ai un grand calendrier sur la page principale et lorsque l'utilisateur clique sur un jour, il affiche cette datepicker. Comme je l'ai dit, tout fonctionne bien pour les jours 2-30 mais pas pour les jours 1 et 31.

S'ils choisissent le jour 2 (et c'était le 2 mars) alors lundi ne serait pas sélectionnable bien sûr puisque c'est un jour passé .

Espérons que ça aide.

Répondre

0

Vous voulez dire valueOf(), et non getTime().

+0

Je les ai changés à valueOF mais cela n'a fait aucune différence. Est toujours en train de désactiver le 1er jour. – StealthRT

Questions connexes