2016-09-13 2 views
0

Ich habe diesen Code unten funktioniert gut, aber ich versuche zu tun ist, wenn ich eine 5:30 eingeben wird der Code automatisch die 0 so die Ausgabe wäre 05:30.Wie '0' diese Art von Bedingung in Code hinzufügen?

Ich versuche, den Code wie die JSFIDDLE 2 zu bearbeiten, aber ich habe es nicht geschafft.

Ist es möglich, was ich will der Ausgang sein ?.

HTML:

<div> 
    <input id="Departure" type="text" style="width: 50px; text-align: center" placeholder="00:00" maxlength = "5" /> 
    </div> 

JavaScript:

<script type="text/javascript"> 
    document.getElementById('Departure').addEventListener('keyup', 
     function(event) { 
      if(event.target.value.length === 2) { 
      if((event.key && !isNaN(event.key)) || (event.keyCode >= 48 && event.keyCode <= 57)) { 
      if(!isNaN(event.target.value) && parseInt(event.target.value) > 12) { 
      event.target.value = event.target.value.slice(0,1) + ':' + event.target.value.substring(1); 
      } else { 
       event.target.value += ':'; 
      } 
     } 
     } 
    }); 
</script> 

JSFIDDLE

JSFIDDLE 2

+0

Warum können Sie einen Datepicker nicht verwenden? –

+0

@ShankarShastri Entschuldigung, ich kann meine Ansicht nicht so einfach ändern, weil ich einer Standardansicht folge. –

+0

Sie haben mehr Probleme mit Ihrem Code. Sie fügen nach dem ersten Zeichen automatisch ein ':' ein, so dass Sie '15: 30' nicht eingeben können, es wird' 1: 530' – Chewtoy

Antwort

1

Yo u kann wie folgt versuchen.

'0' + event.target.value.slice(0,1).slice(-2) 
+ ':' + 
'0' + event.target.value.substring(1).slice(-2) 

dh, können Sie Pad eine Null am Anfang Ihres Wertes und dann in Scheiben schneiden zwei Stellen aus dem letzten.

+0

Bitte erläutern Sie Ihre Antwort. –

+0

@Rahul Ich werde es sonst eingeben? oder? Bitte machen Sie eine Erklärung .. –

+0

@Uki: - Ich bin mir nicht sicher, wenn ich es dann richtig verstanden habe, was ich dachte, Sie können eine Null auf Ihren Eingabewert auffüllen und dann 2 Ziffern von der letzten schneiden. Es würde Ihnen das Ergebnis mit gepolsterter Null geben (* falls erforderlich *) –