角度数输入:如何更改逗号小数

时间:2015-03-30 11:30:03

标签: angularjs

我在Angular中创建了这个指令:

myApp.directive('dfnumber', function () {
    return {
        restrict: "A",
        require: '?ngModel',
        link: function (scope, element, attr, ngModel) {

            ngModel.$parsers.unshift(function (newValue) {
                var floatValue = parseFloat(newValue.replace(",", "."));
                return parseFloat(floatValue.toFixed(2));
            });

            element.on("change", function (e) {
                var floatValue = parseFloat(element.val().replace(",", "."));
                element.val(floatValue);
            });
        }
    };
});

它的任务是将输入“12,34”转换为有效数字“12.24”。输入字段和模型中的值。

如果我在input[type='text']上使用它,它会按预期工作:

<div class="form-group">
    <label for="number">Text input</label>
    <input dfnumber="" type="input" class="form-control" ng-model="number" />
    Number:{{number}}
</div>

但我对使用input[type='number']感兴趣,因为它的最小和最大属性:

<div class="form-group">
    <label for="number">Number input</label>
    <input dfnumber="" type="number" min="0" max="100" class="form-control" ng-model="number2"/>
    Number:{{number2}}
</div>

但是在这个数字输入上它没有用。我该如何解决这个问题?

请参阅我的JSFiddle:http://jsfiddle.net/dennismadsen/kL45085b/

0 个答案:

没有答案