2009-11-10 7 views
0

J'utilise le script suivant ci-dessous pour ajouter "+1 jour" au second champ (#returningdate). Mais si un utilisateur choisit sur le #leavingdate 31/12/2009 ils obtiendraient un #returningdate du 12/32/2009 au lieu du 01/01/2010. Cela arrive avec n'importe quelle date de fin de mois.Jquery DatePicker

<script type="text/javascript"> 
    $(function() { 
     $("#leavingDate").change(function(){ 
      $("#returningDate").datepicker('setDate' , "+1 day"); 

      var date = this.value.split("/"); 
      $("#returningDate").val(date[0]+'/'+(parseInt(date[1])+1)+'/'+date[2]); 
     }).datepicker(); 
     $("#returningDate").datepicker(); 
    }); 
    </script> 

Répondre

0

Vous pouvez utiliser le javascript intégré objet Date pour manipuler les dates:

 
    $(function() { 
     $("#leavingDate").change(function(){ 
      $("#returningDate").datepicker('setDate' , "+1 day"); 

      var date = new Date(Date.parse(this.value)); 
      date.setDate(date.getDate() + 1); 
      $("#returningDate").val(date.getMonth()+'/'date.getDate()+'/'+date.getFullYear()); 
     }).datepicker(); 
     $("#returningDate").datepicker(); 
    }); 
+0

Je vous essayé êtes par exemple, mais je ne peux pas sembler obtenir le calendrier pour lancer maintenant. $ (function() { $ ("# leavingDate"). Change (function() { $ ("#Retournée"). Datepicker ('setDate', "+" 1 jour "); var date = new Date (Date.parse (this.value)); date.setDate (date.getDate() + 1); $ (" # returnsDate ") .val (date. getMonth() + '/' date.getDate() + '/' + date.getFullYear()); }). datepicker(); $ ("# returnDate"). datepicker(); }); \t – Swagger

+0

Mon mauvais. Votre solution fonctionne parfaitement. Certains caractères n'ont pas été copiés correctement de mon côté. – Swagger