为什么角度模型不适用于输入类型编号?但适用于输入类型文本。
这是我的代码
<input type="number" step="0.01" name="price" ng-model="selectedItem.price" autocomplete="off">
这里的解决方案..在我的数据库中,数据类型是十进制而不是字符串..但是angularjs在获取数据后使其成为字符串..所以我添加&#34; +&#34;再次将其转换为int。
$scope.selectedItem={ item_id:"", item_name:"",supplier:"",price:"",description:"" };
<input type="number" step="0.01" name="price" ng-model="+selectedItem.price" autocomplete="off">
答案 0 :(得分:0)
检查此代码
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example - example-number-input-directive-production</title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js"></script>
</head>
<body ng-app="numberExample">
<script>
angular.module('numberExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.selectedItem = {
price: 2.5
};
}]);
</script>
<form name="myForm" ng-controller="ExampleController">
<input type="number" step="0.01" name="price" ng-model="selectedItem.price" autocomplete="off">
<tt>value = {{selectedItem.price}}</tt><br/>
</form>
</body>
</html>
答案 1 :(得分:0)
我想在 selectedItem.price 你传递字符串...你能检查ng-model的数据类型..如果你通过
$scope.selectedItem={
price="2"
};
像上面一样,它不会起作用。需要传递Integer值。如下所示,它将起作用。
$scope.selectedItem={
price:2;
}
将字符串转换为整数。
答案 2 :(得分:0)
我正在使用AngularJS(V1)我通过添加一个简单的过滤器为我自己解决了同样的问题:
filter('stringToNumber', function(){
return function (input) {
if (!input)
return null;
return Number(input)
};
});
使用此:
price: stringToNumber(price);