我想在AngularJS中创建一个函数来替换页面上的所有值,但是我收到错误。
这是HTML:
<input type="text" ng-keyup="number_only(num_page)" ng-model="num_page"/>
<input type="text" ng-keyup="number_only(num_book)" ng-model="num_book"/>
<input type="text" ng-keyup="number_only(price)" ng-model="price"/>
这是我的剧本:
$scope.number_only= function(num_page){
return $scope.num_page = num_page.replace(/[^0-9]/g, '');
}
答案 0 :(得分:1)
在您的代码中,无论模型如何,num_page始终会更新。
您可以直接将模型的值分配给ng-keyup以按预期工作。
以下是工作示例。
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.num_page = null;
$scope.num_book = null;
$scope.price = null;
$scope.number_only= function(num_page){
return num_page.replace(/[^0-9]/g, '');
}
});
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
Number of Page<input type="text" ng-keyup="num_page=number_only(num_page)" ng-model="num_page"/><br>
Number Of Book<input type="text" ng-keyup="num_book=number_only(num_book)" ng-model="num_book"/><br>
Price<input type="text" ng-keyup="price=number_only(price)" ng-model="price"/>
<br>
Number of Page: {{num_page}}
Number of Book: {{num_book}}
Price: {{price}}
</div>
</body>
</html>