2010-05-08 12 views
1

Hey Guys,UI Jquery Datepicker Date de Gamme Inline Problème

i ont un gros problème avec jQuery UI Datepicker.

J'ai deux champs de saisie "De Date" et "À Date". Quand je choisis une date de début - une date de seulement 5 jours devrait apparaître sur le sélecteur «À ce jour».

J'ai utilisé le code de "Russ Cam" jQuery datepicker- 2 inputs/textboxes and restricting range

Il a fonctionné parfaitement.

Maintenant, mon problème:

J'ai un deuxième calendrier qui est INLINE, signifie pas de champs d'entrée - il est affiché directement sur la page - avec « Date d'entrée » et « à ce jour ». Dans ce calendrier, le script ne fonctionne pas! Tous les champs dans "Date de début" et dans le champ "À ce jour" sont disponibles - pas de restrictions de plage de dates ou autre chose.

Qu'est-ce qui ne va pas ici? Quelqu'un peut-il me donner un indice?

+0

pouvez-vous poster votre code HTML et JS !? –

Répondre

0

Aseptik:

Oui sûre:

Voici mon code HTML:

   <div class="calendars"> 
        <div class="left"> 
         <span class="head">Anreise</span> 
         <div id="navfrom"></div> 
        </div> 

        <div class="right"> 
         <span class="head">Abreise</span> 
         <div id="navto"></div> 
        </div> 
       </div> 

Mon code JS:

$('#navfrom, #navto').datepicker(
    { 
     beforeShow: customRangeInline, 
     dateFormat: "dd.mm.y", 
     firstDay: 1, 
     changeFirstDay: false 
    }); 

Et la CustomRangeInline Fonction:

function customRangeInline(input) 
{ 
     var min = new Date(2008, 11 - 1, 1); 
     var dateMin = min; 
     var dateMax = null; 
     var dayRange = 5; 

     if (input.id == "navfrom") 
     { 
      if ($("#navto").datepicker("getDate") != null) 
      {     
       dateMin = $("#navto").datepicker("getDate"); 
       dateMin.setDate(dateMin.getDate()); 
       if (dateMin < min) 
       { 
        dateMin = min; 
       } 
      }     
     } 
     else if (input.id == "navto") 
     { 
       dateMax = new Date(); //Set this to your absolute maximum date 

       if ($("#navfrom").datepicker("getDate") != null) 
       { 
         dateMin = $("#navfrom").datepicker("getDate"); 
         var rangeMax = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + dayRange); 

         if(rangeMax > dateMax) 
         { 
          dateMax = rangeMax; 
         } 
       } 
     } 
     return { 
       minDate: dateMin, 
       maxDate: dateMax 
     }; 
} 
+1

Suggestion; Mettez le code que vous avez des problèmes dans votre message original plutôt que comme une réponse à votre propre question. Ce site n'est pas un forum –