当使用angularjs限制输入值时如何编辑

时间:2019-06-25 19:36:25

标签: javascript angularjs

<input id="myid" type="number" ng-model="maxVal" ng-change="maxValCheck()"
       max="5" min="1" value="1"/>

在控制器中

$scope.maxVal;
$scope.maxValCheck = function() {
    if($scope.maxVal> 5) {
        $scope.maxVal= 5;
    }
}

我想在输入字段的值大于5时将其更改为5,但是它不起作用。我究竟做错了什么?您建议这样做有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

更好地使用指令。

示例:

<input limit-to="5" type="number"  ng-model="maxVal" >

app.directive("limitTo", [function() { return { restrict: "A", link: function(scope, elem, attrs) { var limit = parseInt(attrs.limitTo); angular.element(elem).on("keypress", function(e) { if (this.value > limit) e.preventDefault(); }); } } }]);