2017-08-22 2 views
-1

Ich entwickle eine Website, die eine responsive Website ist, aber ich habe ein wenig mit einem mobilen Problem stecken. Wenn auf mobilen Geräten ein Eingabefeld angezeigt wird, das eine "Nummer" ist, wird die numerische Tastatur angezeigt. Es scheint jedoch, dass die nativen Samsung-Tastaturen nicht das erforderliche Minuszeichen ("-") haben in der Website, also habe ich eine Schaltfläche hinzugefügt, die in mobilen Browsern angezeigt wird und das Minuszeichen hinzufügen, aber jetzt gibt es ein neues Problem:Hinzufügen '-' zu einem numerischen Eingabefeld

Da das Eingabefeld eine 'Nummer' ist kann ich nicht hinzufügen programmatisch das Minuszeichen hier ist, was ich versucht habe zu tun, aber es funktioniert nicht:

<input type="number" ng-model="myNumber"> 
<button type="button" ng-click="myNumber = myNumber + '-'">Add Minus</button> 

Wenn die Taste i den Fehler bekommen bin gedrückt wird:

Es macht irgendwie Sinn, weil es wahrscheinlich prüft, ob es eine Art von Nummer ist (was nicht ist) und diesen Fehler werfen, aber wenn ich eine PC-Tastatur oder eine mobile numerische Tastatur verwenden werde, die das Minuszeichen hat akzeptiert es.

Gibt es eine Möglichkeit, diesen Fehler irgendwie zu vermeiden und das Minuszeichen in das Eingabefeld einzufügen?

bearbeiten

, was ich wollte, ist, dass es die gleiche Wirkung sein wird, die Sie erhalten, wenn Sie eine PC-Tastatur bedeutet haben, dass -5645-56 möglich ist (weil es möglich macht in einem Eingabefeld ‚Nummer‘), aber ich Schätze, dass selbst wenn es möglich ist, es viel schwieriger sein wird, und es gibt keinen so guten Grund dafür, dass die von dir vorgeschlagenen Ansätze auch funktionieren können.

Vielen Dank!

+1

Sie sind nicht ein Minuszeichen geben, Sie eine Zeichenfolge erstellen, die wie folgt aussieht: '„5-“' (die nicht '-5' ist). Sie können versuchen, es mit -1 zu multiplizieren. – Dekel

+1

Wenn Sie 'myNumber' haben und' myNumber + '-'ausführen, erhalten Sie '3-'. Haben Sie versucht, 'ng-click =" myNumber = myNumber * -1 "' oder 'ng-click =" myNumber = -myNumber "'? – Jaime

Antwort

1

Ich denke, Sie sollten nur

tun
<input type="number" ng-model="myNumber"> 
<button type="button" ng-click="myNumber = (myNumber > 0) ? -myNumber : myNumber">Add Minus</button> 
Verwandte Themen