it-swarm.com.de

So erhalten Sie das Datum von jQuery UI datepicker

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

nun, ich muss den Tag, den Monat und das Jahr des Datums abrufen, an dem sie sich entscheiden. Wie kann ich das Datum von der jQuery-Benutzeroberfläche erhalten?

78
user605334

Benutzen

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();
}
113
CoolEsh

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

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

Der Wert wird als JavaScript-Date-Objekt 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 Date-Objekt zu konvertieren.

Siehe http://docs.jquery.com/UI/Datepicker für die vollständige DatePicker-Referenz für die jQuery-Benutzeroberfläche.

81
Vivek

Versuchen Sie dies, funktioniert wie ein Zauber, gibt das Datum an, das Sie ausgewählt haben.

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

Verweis hier

18

den Link zu getdate: http://docs.jquery.com/UI/Datepicker#method-getDate

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

Manchmal viele Probleme damit. Der Attributwert der Datenpicker ist 28-06-2014, aber Datumsanzeige ist show oder heute 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 fügte der Eingabe des Datenpicker-Attributs data-value hinzu, weil bei Aufruf von jQuery (this) .val () OR jQuery (this) .attr ('value') - nichts funktioniert . Ich habe mich für init in cycle jeden Datapicker entschieden und seinen Wert vom Attribut data-value genommen:

 $("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 =)

1
realmag777

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

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

datepicker hat nicht funktioniert, aber dtpicker hat funktioniert.

0
evobe