块引用 在高度字段的情况下,它取3个整数值,其正确但在此之后它必须采用2个浮动值,例如555.34 即使我使用step =" 0.01"和max =" 3"但是在按键时它不会在3位数后取任何浮点值 块引用
ARCMAIN

var app = angular.module('Calc', []);
var inputQuantity = [];
$(function() {
$(".form-control").each(function(i) {
inputQuantity[i]=this.defaultValue;
$(this).data("idx",i); // save this field's index to access later
});
$(document).on("keypress",".form-control", function (e) {
var $field = $(this),
val=this.value+''+String.fromCharCode(e.charCode),pattern;
if(this.step==0.00)
pattern=/[^0-9]/
else
pattern=/[^0-9.]/
if ( val>parseInt(this.max,10)||pattern.test(val)|| (val.match(/\./) && (val.match(/\./g).length>1 || val.replace(/\d+\./,'').length>2))) {
e.preventDefault();
}
});
});
app.controller('Calc_Ctrl', function ($scope, $http) {
$scope.choices = [{id : 'choice1', l2 : 0, b2 : 0}];
$scope.areas = [{id : 'choice2', total : 0}];
$scope.addNewChoice = function () {
var newItemNo = $scope.choices.length + 1;
$scope.choices.push({
'id' : 'choice' + newItemNo, l2 : 0, b2 : 0
});
};
$scope.removeChoice = function () {
var lastItem = $scope.choices.length - 1;
if (lastItem !== 0) {
$scope.choices.splice(lastItem);
}
};
});

答案 0 :(得分:0)
所以我已经开始并且真正简化了这段代码。我知道您关注的是遵循产生类似123.33
的格式的价值。
我已在输入类型中使用ng-pattern
以确保输入与所需模式匹配。
正则表达式
[0-9]{3}[.][0-9]{2}
HTML
<input type="number" class="form-control text-red bold" id="length" ng-model="choice.l2" ng-pattern="/[0-9]{3}[.][0-9]{2}/" min="0" max="999" maxlength="6" step="0.00">
如果您的输入符合所需的正则表达式,则长度和高度字段才有效。
这是demo