当我在输入框中输入4位数字(不计算小数)或更多时,当我点击(模糊)时,它会突然从数字输入框中消失。可能是货币过滤器吗?
如果我将其记录到控制台,模型仍然保留该值,它就会从视图中消失。
<div class="input-group col-sm-2">
<div class="input-group-addon">$</div>
<input type="number" step="any" min="0" class="form-control" id="promoSetupFee" data-ng-model="fees.setup.promo" data-ng-format-curr data-ng-blur="updateSetupTotal()">
</div>
crtPromoDir.directive('ngFormatCurr', ['$timeout', '$filter', function($timeout, $filter)
{
return {
link: function(scope, element, attrs)
{
$timeout(function()
{
element.val($filter('currency')((element.val() || 0), '', 2));
});
element.blur(function()
{
element.val($filter('currency')((element.val() || 0), '', 2));
});
}
};
}]);
编辑:似乎类型编号的HTML输入不接受逗号,有什么方法可以从我的指令中删除逗号吗?
编辑:
$scope.updateSetupTotal = function()
{
$scope.fees.setup.total = (parseFloat($scope.fees.setup.promo) || 0.00)+(parseFloat($scope.fees.setup.loc) || 0.00)+(parseFloat($scope.fees.setup.premium) || 0.00)+(parseFloat($scope.fees.setup.content) || 0.00);
$scope.updatePromoTotal();
};
编辑:快速修复是使用输入而不是数字的类型文本,但这意味着模型现在将是字符串而不是浮点数。