当前位置: 首页 > 面试题库 >

将货币过滤器应用于angularjs的输入字段

陶炫明
2023-03-14
问题内容

嗨,当我使用跨度标签时,我可以应用货币过滤器,例如

<div ng-repeat="item in items">
    <span>
        {{item.cost | currency}}
    </span>
</div>

我想知道如何在输入代码中应用相同的货币过滤器。即

<div ng-repeat="item in items">
    <input type="text"  ng-model="item.cost | currency" />
</div>

当我尝试将货币过滤器应用于上述输入字段时,它不起作用。请让我知道如何将货币过滤器应用于输入字段。谢谢


问题答案:

我创建了一个简单的指令来处理格式化输入字段。这是一个jsfiddle示例。要使用它,请将其添加到现有代码中。

<div ng-repeate="item in items">
    <input type="text"  ng-model="item.cost" format="currency" />
</div>

并将此指令添加到您的代码中。

// allow you to format a text input field.
// <input type="text" ng-model="test" format="number" />
// <input type="text" ng-model="test" format="currency" />
.directive('format', ['$filter', function ($filter) {
    return {
        require: '?ngModel',
        link: function (scope, elem, attrs, ctrl) {
            if (!ctrl) return;

            ctrl.$formatters.unshift(function (a) {
                return $filter(attrs.format)(ctrl.$modelValue)
            });

            elem.bind('blur', function(event) {
                var plainNumber = elem.val().replace(/[^\d|\-+|\.+]/g, '');
                elem.val($filter(attrs.format)(plainNumber));
            });
        }
    };
}]);


 类似资料:
  • 问题内容: 有没有办法从货币过滤器的输出中删除小数/分?我正在做这样的事情: 哪个输出: $ 1,000.00 相反,我想: $ 1,000 可以使用货币过滤器来完成吗?我知道我可以在数字前加一个美元符号,并且可以编写自己的过滤器,但我希望现有的货币过滤器中存在一种简单的方法。 谢谢。 问题答案: 更新 :从 1.3.0 版本开始-currencyFilter:添加fractionSize作为可选

  • 我试过... 但那就不允许便士条目了。 我想要增量按钮控制在英镑上升,但仍然想要输入便士的能力。 谢谢,1DMF

  • 问题内容: 我对创建一个可以接受金额,ISO 4217货币代码和小数大小并以该格式返回金额的过滤器感兴趣。我注意到AngularJS在中,但是我对Angular比较陌生,不知道是否可以使用它? 问题答案: 货币模式和符号就是这样。它确定如何显示数字。它将不会从XXX转换为XXX。您将必须根据当前的转换率进行转换。 至于使用内置货币格式,有多种方法:在模板中,在代码中。 在模板中: 在代码中: 在这

  • 问题内容: 现场演示 为什么这个: 结果而不是? 问题答案: 这是代表负货币的一种流行方法。维基百科: 在簿记中,所欠金额通常用红色数字或括号中的数字表示,以替代表示负数的符号。 您可以在Angular源代码中看到他们执行此操作的位置(/ ):

  • 问题内容: 我正在尝试使用http://jquerypriceformat.com/为欧盟货币字段创建输入掩码 到目前为止,在我的指令中,输入已正确应用掩码并正确显示给用户,但是我相信这是有问题的,因为POST值是以奇怪的格式发送的,这与我们在输入字段中看到的完全不同。 我包括priceformat.js 在角度上: 我的输入正确显示了带有掩码的值,但是在POST数据(用角度表示)上,它是一个不同

  • 问题内容: 我希望我不会错过doco中任何明显的内容,如果可以的话,我相信有人会帮助您。 我正在使用asp.net webapi返回带有日期字段的DTO。这些使用JSON.Net(格式为‘2013-03-11T12:37:38.693’)进行序列化。 我想使用过滤器,但是在INPUT元素中,这是否可行,或者我应该创建一个新的过滤器或指令来完成此操作? 我缺少任何捷径吗? 问题答案: 简而言之:如果