如何使用货币格式化输入类型编号字段

时间:2015-04-24 14:00:27

标签: angularjs

我一直在尝试查找如何将角色添加到角度input type="number"字段的示例。我见过的所有内容都使用type="text"。问题是我需要保持数字字​​段所具有的轮子。

可以解决这个问题吗?我见过一些只能使用chrome的css hacks。

我需要所有浏览器都能正常工作。

2 个答案:

答案 0 :(得分:2)

我遇到了一个类似的例子,说明如何将逗号添加到角度输入类型=" number"字段。

尝试以下示例,我没有尝试过,但看起来很有希望

您可以根据需要使用此示例创建指令 http://blog.krusen.dk/angularjs-decimals-browsers/

答案 1 :(得分:0)

这不是原始问题的答案,因为我不知道您是否可以在数字字段中插入逗号和货币符号。而不是将其保留为数字字段,但试试这个,也许它会有所帮助:

允许文本,并将用户输入限制为仅数字。

<input type="text" ng-model="value" numbers-only/>

指令:

.directive('numbersOnly', [
    function(){ // limit the input field to numbers only, but retain value as string. Note do not use on type=number input field
        return {
            require: 'ngModel',
            link: function(scope, element, attrs, modelCtrl) {

                modelCtrl.$parsers.push(function (inputValue) {

                    var transformedInput = inputValue;
                    transformedInput = transformedInput.replace(/\D/g,'');

                    if(transformedInput)
                        transformedInput = parseInt(transformedInput)+"";

                    if (transformedInput!=inputValue) {
                        modelCtrl.$setViewValue(transformedInput);
                        modelCtrl.$render();
                    }

                    return transformedInput;
                });
            }
        };
    }
])

http://plnkr.co/edit/zLj34V7v7xICyfGnlg3k?p=preview