2013-08-12 7 views
13

Ich verwende Bootstrap datepicker. Die Antwort ist wahrscheinlich offensichtlich, aber ich kann nicht herausfinden, wie man das ausgewählte Datum als String im angegebenen Format erhält. Früher habe ich:Bootstrap Datepicker - Wie bekomme ich das Datum als String im richtigen Format?

<div id="myDate" data-date-format="yyyy-mm-dd"> 
    <input type="text"> 
</div> 

Und in meinem javascript:

var value = $("#myDate").datepicker("getDate"); 

Aber es ein Datum gibt, keinen String in yyyy-mm-dd Format.

Antwort

18

Die data-date-format="mm/dd/yyyy" Bedürfnisse am Eingang eingestellt werden:

<input type="text" data-date-format="MM/DD/YYYY"> 

Ihre jQuery sollte auch geändert werden:

var value = $("#myDate input").datepicker("getDate"); 

Oder Sie können einfach die Dinge einfach ohne Einwickeln div und mit diesem Ihre ursprüngliche jQuery würde gut funktionieren und Sie müssten nicht input:

<input type="text" id="myDate" data-date-format="YYYY-MM-DD"> 
angeben

Vorschlag
Ich würde empfehlen, eine Klasse zu erstellen, um den Datepicker zu formatieren. So können Sie die Klasse .datepicker zu einem beliebigen Eingabefeld hinzufügen und es würde funktionieren, ohne eine andere Variable angeben zu müssen.

Fiddle
Hier arbeitet Code mit Alarm von Datum http://jsfiddle.net/doitlikejustin/HFuDg/1/

+0

Dank. Ich habe tatsächlich einige Dinge weggelassen. Das Wrapping div enthält ein ccleve

+1

ich sehe. Hat das Hinzufügen des 'data-date-formats' zur Eingabe das Problem behoben, oder tritt es immer noch auf? – doitlikejustin

+0

Immer noch passiert. Die Methode "getDate" gibt immer noch ein Objekt zurück. Es ist jetzt ein anderes Objekt und scheint Teil des DOM zu sein. (Die Eingabe vielleicht?) – ccleve

Verwandte Themen