2017-04-04 1 views
-4

Unten ist der HTML-Code, den ich versuche, wo ich in der Lage bin, die Zahl zu begrenzen, die größer ist als 5, indem Sie nach oben und nach unten Tasten verwenden. aber ich muss die manuelle Eingabe von der Tastatur einschränken. Im aktuellen Szenario können wir eine beliebige Zahl über die Tastatur eingeben und akzeptieren.Notwendigkeit, Max-Wert von der Tastatur zu beschränken

<input type="number" max="5" min="1"> 
+0

sie zu akzeptieren, aber es wird als Fehler – Abi

+0

zeigt, wird es akzeptiere aber 'form. $ valid' wird falsch sein. – Sankar

Antwort

0

Dieses Stück Code ersetzen Zahl mit max Nummer eingegeben, die maximale Anzahl zeigt (wenn eingegebene Zahl größer als maximale Anzahl)

<!DOCTYPE html> 
<html lang="en-US"> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 

<body> 
    <div ng-app="app" ng-controller="controller"> 

     <h4> Prevent typing value greater than max (i.e 100): 
     <input type="number" min="1" max="100" limit-to-max /> 
     <script type="text/javascript"> 
     var app = angular.module("app", []); 

     app.controller("controller", function($scope) { 

     }); 

     app.directive("limitToMax", function() { 
      return { 
       link: function(scope, element, attributes) { 
        element.on("keydown keyup", function(e) { 
         if (Number(element.val()) > Number(attributes.max) && 
          e.keyCode != 46 // delete 
          && 
          e.keyCode != 8 // backspace 
         ) { 
          e.preventDefault(); 
          element.val(attributes.max); 
         } 
        }); 
       } 
      }; 
     }); 
     </script> 
    </div> 
</body> 

</html> 
Verwandte Themen