我有一个类型编号的输入字段。我想检索用户输入的确切值而不会失去焦点。
1
时,应返回1
11
时,应返回11
11
时。它应该返回11.
(但它返回没有小数的值 - 11)我尝试过:
我尝试了keyup事件,但元素的值总是没有小数。并尝试了modelctrl.parsers.push()
但是当输入为十进制(点)时,解析器不会触发。
我已查看modelctrl.$viewValue
,modelctrl.$modelValue
。一切都返回没有小数的值。
我不知道它将返回完整值的正确事件。
答案 0 :(得分:0)
在此demo fiddle中尝试。这是在JavaScript / AngularJS / HTML5中处理浮点值的正确方法。
<div ng-controller="MyCtrl">
<input type="number"
step="0.01"
ng-class="{ 'error' : error }"
ng-model="test"
ng-change="change()" />
<br >
Number output: {{ test | number:2 }}
</div>
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function ($scope) {
$scope.test = 0.2;
$scope.error = false;
$scope.change = function () {
console.log($scope.test);
if (!$scope.test) {
$scope.error = true;
} else {
$scope.error = false;
}
}
});
答案 1 :(得分:0)
<div ng-app="myApp" ng-controller="myCtrl">
No: <input type="text" ng-model="no" ng-change="changeNoDecimal(no)"><br>
{{no1}}
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.changeNoDecimal = function(no){
$scope.no1 = Number(no).toFixed(2);
}
});
</script>