HTML输入 - AngularJS - 不显示超过3位数

时间:2015-04-29 17:41:55

标签: javascript html angularjs input filter

当我在输入框中输入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();
};

编辑:快速修复是使用输入而不是数字的类型文本,但这意味着模型现在将是字符串而不是浮点数。

0 个答案:

没有答案