2009-10-26 8 views
21

とどのように取得するため ?jqueryui日付ピッカーのインラインモードで選択した日付を取得します。私は私が取得するユーザーがdate.Whereを選択し、選択した日付を取得する方法を知りたいmode.Nowインラインを使用したいjqueryui datepicker.I使用しようとしています

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

値は、JavaScriptのDateオブジェクトとして返されます:あなたはのgetdate関数を使用して、日付を取得することができ

答えて

61

をアドバイスしてください。

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

最初のパラメータは、この場合、文字列として選択された日である:あなたは、ユーザーが日付を選択したときに、この値を使用したい場合は

は、あなたがにonSelectイベントを使用することができます。 parseDateを使用して、JS Dateオブジェクトに変換します。

はフルjQueryのUI日付ピッカー参照のhttp://docs.jquery.com/UI/Datepicker参照してください。

+5

これは、 'onSelect'の後に日付を別の形式に変換するのに役立ちました。例: '$ .datepicker.formatDate( "YY-MM-DD"、$(この).datepicker( "のgetDate"));' – Dmitriy

+0

ありがとう!私の日を救った。 var dateAsString = dateText;選択した日付を取得するのに役立ちました。 – waghekapil

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


    }) 

これはJqueryで最も簡単な回答です。

+0

クール!非常に簡単です! – mccbala

1

私は近いeventで動作するようにしようとしていたが、それはまた、カレンダーが開いていると私はがれにどこかにクリックしたときにトリガするために使用。最終的にカレンダーはfocusclose eventと呼ばれます。だから私はこれを見つけた。

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)); 
      } 
     }