So erhalten Sie das Datum von jQuery UI datepicker

86

Ich möchte das Datum von datepicker erhalten, wenn der Benutzer das Datum in jQuery UI datepicker auswählt und auf die Schaltfläche im Formular klickt.

Nun, ich muss den Tag, den Monat und das Jahr des von ihnen gewählten Datums ermitteln. Wie kann ich das Datum von jQuery UI erhalten?

TJ
quelle

Antworten:

130

Verwenden

var jsDate = $('#your_datepicker_id').datepicker('getDate');
if (jsDate !== null) { // if any date selected in datepicker
    jsDate instanceof Date; // -> true
    jsDate.getDate();
    jsDate.getMonth();
    jsDate.getFullYear();
}
CoolEsh
quelle
Ist dies eine Möglichkeit, eine Methode für den Datentyp "Datum" auszuführen? Ich meine, getDate, getMonth, getFullYear usw.?
Ajeeb.KP
Nachdem Sie getDate auf datepicker aufgerufen haben, erhalten Sie das js Date () -Objekt, mit dem Sie dann getDate, getMonth, getFullYear usw.
aufrufen können
86

Sie können das Datum mit der Funktion getDate abrufen:

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

Der Wert wird als JavaScript-Datumsobjekt zurückgegeben.

Wenn Sie diesen Wert verwenden möchten, wenn der Benutzer ein Datum auswählt, können Sie das Ereignis onSelect verwenden:

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

Der erste Parameter ist in diesem Fall das ausgewählte Datum als Zeichenfolge. Verwenden Sie parseDate, um es in ein JS-Datumsobjekt zu konvertieren.

Die vollständige jQuery UI DatePicker-Referenz finden Sie unter http://docs.jquery.com/UI/Datepicker .

Vivek
quelle
beste Lösung, da keine globale Variable des Datumsobjekts erforderlich ist
Rashid
24

Versuchen Sie dies, funktioniert wie Charme, gibt das Datum an, das Sie ausgewählt haben. Onsubmit-Formular versuchen, diesen Wert zu erhalten: -

var date = $("#scheduleDate").datepicker({ dateFormat: 'dd,MM,yyyy' }).val();

Referenz hier

NameNotFoundException
quelle
1

Manchmal gibt es viele Probleme damit. Im Attributwert von Datapicker-Daten ist 28-06-2014, aber Datepicker ist show oder today oder nichts. Ich habe es so entschieden:

<input type="text" class="form-control datepicker" data-value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" />

Ich habe der Eingabe des Datenpicker-Attributs data-value hinzugefügt, denn wenn Sie jQuery (this) .val () ODER jQuery (this) .attr ('value') aufrufen, funktioniert nichts. Ich habe mich für jeden Datenpicker im Zyklus entschieden und seinen Wert aus dem Attribut data-value übernommen:

 $("form .datepicker").each(function() {
        var time = jQuery(this).data('value');
        time = time.split('-');
        $(this).datepicker('setDate', new Date(time[2], time[1], time[0], 0, 0, 0));
    });

und es funktioniert gut =)

Realmag777
quelle
Dies funktioniert nur, wenn Ihr Datumsformat dmY ist. Wenn Sie mdY oder ein anderes Format haben, sind Sie abgespritzt!
Mohamed Nuur
0

Die Antwort von NamingException hat bei mir funktioniert. Außer ich habe verwendet

var date = $("#date").dtpicker({ dateFormat: 'dd,MM,yyyy' }).val()

datepickerhat nicht funktioniert, aber dtpickergetan.

evobe
quelle