2016-06-10 7 views
-1

Wie kann ich eine Funktion aufrufen, die nur ausgelöst wird, nachdem ein interger-Wert in ein Eingabefeld eingegeben wurde? (So ​​eine beliebige Anzahl 0-9)Wie kann ich eine Funktion aufrufen, die ausgelöst wird, nachdem ein ganzzahliger Wert in das Eingabefeld eingegeben wurde?

Col <input type="text" value='tiledata.col' ng-model="tiledata.col" class="input-col" id="aeS-Col" ng-click="vm.setInputCol()"> 
+1

Bitte deine Frage richtig markieren. Wenn Sie jQuery verwenden möchten, können Sie _filter_-Ereignisse verwenden. –

Antwort

0

Well Ereignis kann auf Veränderung ausgelöst werden, sondern hängt nicht auf den Wert, aber Sie können innerhalb der Onchange-Event-Handler-Funktion überprüfen, um das eingegebene Zeichen zu überprüfen:

In Ihrem Code ändern Sie die ng-klicken Sie auf ng-click=vm.setInputCol(event) und dann in der Funktion tun die obige Überprüfung und zurück, wenn nicht wahr ist eine Möglichkeit, es zu tun.

0

Da es scheint, dass Sie angular verwenden, können Sie auch so überprüfen.

$scope.vm.setInputCol = function(){ 

     if(typeof $scope.tiledata.col === typeof 1) 
     { 
     alert("Do your stuff"); 
     } 
     else 
     { 
     return; 
     }; 
    }; 
0

Die .onkeypress() wäre die bevorzugte Methode dafür. onkeypress vs onkeydown

In der Theorie die keydown und keyup Ereignisse repräsentieren Tasten gedrückt werden oder freigegeben, während das Tastendruck-Ereignis ein Zeichen eingegeben wird, darstellt. Die Implementierung der Theorie ist nicht in allen Browsern gleich.

So Beispiel (in jQuery):

$("#aeS-Col").onkeypress(function(key) 
{ 
    if(key.test(/[0-9]/)) 
     callSuperFunction(); 
} 
Verwandte Themen