2010-04-25 6 views
1

J'utilise Jquery date ramasseurs pour obtenir Dates de début et de fin pour une application que je suis bâtiment.Jquery date Allez: Append Date de début à la date de fin et les dates d'affichage à l'avenir que

J'ai deux datepickers, un pour une date de début et un pour une date de fin.

Lorsqu'une personne clique sur une date dans le sélecteur de date de début, cette date doit être automatiquement ajoutée au sélecteur de date de fin.

J'ai également besoin du sélecteur de date de fin pour sélectionner les dates futures uniquement à partir de la date qui y a été ajoutée.

Il ya deux démos sur le site jquery datepicker qui font ce que je veux, mais je ne sais pas comment les combiner pour faire ce que je veux.

Example One:

Cet exemple montre comment vous pouvez lier ensemble deux sélecteurs de date afin que la date sélectionnée dans une influence les dates qui peuvent être sélectionnés dans le autre

$(function() 
{ 
    $('.date-pick').datePicker() 
    $('#start-date').bind(
     'dpClosed', 
     function(e, selectedDates) 
     { 
      var d = selectedDates[0]; 
      if (d) { 
       d = new Date(d); 
       $('#end-date').dpSetStartDate(d.addDays(1).asString()); 
      } 
     } 
    ); 
    $('#end-date').bind(
     'dpClosed', 
     function(e, selectedDates) 
     { 
      var d = selectedDates[0]; 
      if (d) { 
       d = new Date(d); 
       $('#start-date').dpSetEndDate(d.addDays(-1).asString()); 
      } 
     } 
    ); 
}); 

Example Two:

Un exemple montrant la date inline ramasseurs qui sont reliés entre eux et déclenchent le comportement dans l'autre ...

$(function() 
{ 
    $('#date-view1') 
     .datePicker({inline:true}) 
     .bind(
      'dateSelected', 
      function(e, selectedDate, $td) 
      { 
       $('#date1').val(selectedDate.asString()); 
       $('#date-view2, #date-view3').dpSetSelected(selectedDate.addDays(3).asString()); 
      } 
     ); 
    $('#date-view2') 
     .datePicker({inline:true}) 
     .bind(
      'dateSelected', 
      function(e, selectedDate, $td) 
      { 
       $('#date2').val(selectedDate.asString()); 
      } 
     ); 
    $('#date-view3').datePicker(); 
    $('#form-check') 
     .bind(
      'click', 
      function() 
      { 
       alert('date1=' + $('#date1').val() + '\n' + 'date2=' + $('#date2').val()); 
      } 
     ); 
}); 

J'ai essayé de nombreuses combinaisons des codes indiqués ci-dessus, mais Je n'ai pas réussi à obtenir les résultats souhaités.

Merci pour votre aide,

Tim

+0

Il n'est pas clair ce que l'on entend par "Lorsque quelqu'un clique sur une date dans le sélecteur de date de début, j'ai besoin que cette date soit automatiquement ajoutée au sélecteur de date de fin." –

+0

Désolé si ce n'était pas clair. Je voulais la date qui a été sélectionné à la date de début à également inséré dans le sélecteur de date de fin. Assurez-vous également que le sélecteur de date de fin ne peut pas sélectionner une date avant le sélecteur de date de début. – Tim

Répondre

1

ici essayer cela, sélectionnez la date de début ajoutera toute valeur en entrée de démarrage à jour et fixer la date de fin à la date de début:

$('#start-date').bind('dpClosed', function(e, selectedDates) { 
    var d = selectedDates[0]; 
    if (d) { 
    d = new Date(d); 
    $('#end-date').dpSetStartDate(d.addDays(1).asString()).dpSetSelected(d.asString()).val($(this).val()); 
    } 
}); 
+0

Parfait. Merci beaucoup!!! :) – Tim

+0

vous êtes les bienvenus :) – Puaka

Questions connexes