2016-07-14 10 views
0

Ich habe ein Eingabefeld, das ich mit Datum und Uhrzeit im Format JJ-MM-TT hh-mm-ss füllen möchte, weil ich diese Informationen an meine Datenbanken Spalte mit sende Datentyp DATETIME (oder ähnlich). Ich habe dies mit zwei Eingaben gemacht - ein Textfeld, das ich mit datepicker() gefüllt habe und anderes war <select> Liste mit vordefinierten Werten für die Zeit. Heute war ich Codierung eine weitere Funktionalität in PHP und ich didn `t wie meine Situation mit Datum und Zeit, so habe ich Javascript-Code wie folgt aus:Zeit zu jQuery hinzufügen datepicker() Funktion

<script type="text/javascript"> 
    $(".datepicker").click(function(){ 
     var a = "yy-mm-dd "; 
     var b = prompt("Ievadi laiku formātā hh-mm-ss", "00-00-00");  
    var c = a.concat(b); 
     $(".datepicker").datepicker({dateFormat: c}); 
     }); 
    </script> 

Also, wenn ich auf dem Feld Eingabe klicken erhalte ich eine Eingabeaufforderung, wo ich Geben Sie time ein und drücken Sie die Eingabetaste. Dies ist, wenn ich ein Datum aus dem Kalender wählen möchte, aber da datepicker tatsächlich zur selben Zeit funktioniert, wenn die Eingabeaufforderung angezeigt wird (beim Klicken), dann ist das Argument c zu diesem Zeitpunkt nicht vorhanden und der Kalender wird nicht angezeigt dateFormat ist ungültig. Wenn ich noch einmal auf das Eingabefeld klicke, bekomme ich eine weitere Eingabeaufforderung und nach dem zweiten Prompt erscheint der Kalender, aber datepicker verwendet das Format, das ich beim ersten Mal nicht einstellen wollte. Also wenn ich zum ersten Mal "00-00-00" und für den zweiten "00-10-00" eingegeben habe, dann bekomme ich nach der Wahl des Datums "mydate 00-00-00" und nicht die tatsächliche Uhrzeit, zu der ich diese eingegeben habe Zeit. Ich habe ähnliche Beiträge hier gesehen, aber es hat mir nicht geholfen. Es gab eine Post, die aktuelle Zeit zu bekommen und an das Datum anzuhängen, aber ich denke, das ist anders. Sollte ich eine andere Methode verwenden, um die Zeit einzugeben und sie dann zu Datum hinzuzufügen, während ich es versuchte, oder gibt es eine Möglichkeit, meiner Variablen c einen Wert zu geben, bevor der Datumszeiger funktioniert? Ich freue mich über Ihre Vorschläge.

+0

Datum und Zeit etwas weniger gepflegte Web-Spezifikationen sind. das Verhalten [variiert sehr] [1] zwischen Desktop- und mobilen Browsern. Wenn Sie eine zuverlässigere Lösung benötigen, sollten Sie nach einer reicheren Datepicker-Komponente suchen, bei einigen Suchen werden viele [anständige Optionen] [2] angezeigt. [1]: http://caniuse.com/#feat=input-datetime [2]: https://www.google.com?q=ui%20angular%20datepicker – Sombriks

Antwort

0
<script type="text/javascript"> 
    $(".datepicker").click(function(){ 
     var a = "yy-mm-dd "; 
     var b = prompt("Ievadi laiku formātā hh-mm-ss", "00-00-00");  
    var c = a.concat(b); 
    if (c.length > 0){ 
     $(".datepicker").datepicker({dateFormat: c}); 
     }}); 

    </script> 

Wenn Aussage löste dieses. Aber das tut es nicht t work every time. I ll überprüfen Sie das morgen.

EDITED: das funktioniert - https://jsfiddle.net/gne64yd5/20/

+0

Wenn Sie Ihre eigene Frage beantwortet haben Du solltest die Antwort akzeptieren. – RobG

+0

https://jsfiddle.net/gne64yd5/20/ So habe ich endlich alles so funktionieren lassen, wie ich es wollte. – anthropophagus