2009-11-09 5 views
4

Je veux, lorsque l'utilisateur sélectionne une date, mettre en évidence les 11 jours suivants. L'intention est de montrer une gamme de 12 jours choisis en fonction du jour choisi.jQuery UI Datepicker - Comment puis-je sélectionner une plage particulière de dates?

J'ai vu le "sélecteur de plage de dates" de http://www.filamentgroup.com/ suggéré, mais cela ne me donne pas vraiment la visualisation que je veux, il permet juste à un utilisateur de choisir une gamme (de/à) tel que je le comprends.

Une suggestion sur comment je peux réaliser ceci?

Vive

Répondre

5

Vous pouvez utiliser l'événement beforeShowDay pour donner un style CSS pour les dates dont vous avez besoin pour mettre en évidence.

code:

$(document).ready(function(){ 
    var selected = null; 

    $('#datePicker').datepicker({beforeShowDay: function(date) { 
         if (selected != null && date.getTime() > selected.getTime() && 
          (date.getTime() - selected.getTime()) < 12*24*3600*1000) { 
          return [true, "highlighted"]; 
         } 
         return [true, ""]; 
        }}); 

    $("#datePicker").datepicker('option' , 'onSelect', function() { 
      str = $(this).val().toString(); 
      selected=$.datepicker.parseDate('mm/dd/yy', str); 
      console.log(selected); 
      }); 
}); 
+0

J'ai examiné, mais si je comprends bien (avec mon expertise/jquery quelque peu limitée) je serais en mesure de le faire de la charge, mais pas à chaque fois que sa clique? Je veux dire ne pas tenir compte de la fonctionnalité onload où il fonctionne pour chaque date, chaque fois qu'une date est sélectionnée, mal obtenir la date sélectionnée dans ma fonction, comment puis-je vérifier les 11 jours suivants? Je pourrais manquer quelque chose d'évident ici –

+0

ah, fantastique! Je vous remercie! –