2009-10-26 5 views
21

je suis en train d'utiliser jQueryUI datepicker.I voulez utiliser la ligne mode.Now je veux savoir comment puis-je obtenir la date sélectionnée lorsque l'utilisateur sélectionne un date.Where pour obtenir et comment obtenir ? S'il vous plaît conseillerGet date sélectionnée en mode ligne jQueryUI datepicker

Répondre

61

Vous pouvez récupérer la date en utilisant la fonction getDate:

$("#datepicker").datepicker('getDate'); 

La valeur est retournée comme un objet Date JavaScript.

Si vous souhaitez utiliser cette valeur lorsque l'utilisateur sélectionne une date, vous pouvez utiliser l'événement onSelect:

$("#datepicker").datepicker({ 
    onSelect: function(dateText, inst) { 
     var dateAsString = dateText; //the first parameter of this function 
     var dateAsObject = $(this).datepicker('getDate'); //the getDate method 
    } 
}); 

Le premier paramètre est dans ce cas la date sélectionnée comme String. Utilisez parseDate pour le convertir en objet date JS.

Voir http://docs.jquery.com/UI/Datepicker pour la référence complète DatePicker jQuery UI.

+5

Cela m'a aidé à convertir la date en un format différent après 'onSelect'. Exemple: '$ .datepicker.formatDate (" yy-mm-jj ", $ (this) .datepicker (" getDate "));' – Dmitriy

+0

Merci! Sauvé ma journée. var dateAsString = dateText; m'a aidé à obtenir la date sélectionnée. – waghekapil

18
$(document).on("change", "#datepickerdiv", function() { 
     alert($(this).val()) 


    }) 

C'est la réponse la plus simple de Jquery.

+0

Cool! Très simple! – mccbala

1

je tente de travailler avec près event mais il a également utilisé pour déclencher lorsque le calendrier est ouvert et je clique ailleurs sur le pierrier. Finalement, le calendrier perd focus et close event il a appelé. Donc j'ai trouvé celui-ci;

onClose: function (dateText, inst) { 
      function isDonePressed() { 
       return ($('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1); 
      } 
      if (isDonePressed()) { 
       var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val(); 
       var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val(); 
       $(this).datepicker('setDate', new Date(year, month, 1)); 
      } 
     }