首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >替换为。在使用角度1绑定到属性的输入字段中

替换为。在使用角度1绑定到属性的输入字段中
EN

Stack Overflow用户
提问于 2016-12-21 04:25:14
回答 1查看 480关注 0票数 1

我有一个输入字段,它应该包含数字。它被绑定到一个对象属性。我希望输入为4,5的输入在模型和视图中都自动转换为4.5。

HTML:

代码语言:javascript
复制
<input data-ng-model="productContent(product.Id).Org" value="{{productContent(product.Id).Org | replaceComma}}" />

控制:

代码语言:javascript
复制
$scope.productContent = function (prodId) {
    var content = $.grep($scope.productsContent, function (el) { return el.ProdId === prodId });
    return content[0];}  

过滤器:

代码语言:javascript
复制
app.filter('replaceComma', function () {
            return function (val) {
                return (typeof val) == "string" ? val.toString().trim().replace(",", ".") : val
            };
        }); 

结果:

当我输入一个数字时,首先模型(productContent)检索到正确的对象。然后调用过滤器代码并返回正确转换的字符串。我希望模型和视图都更新为筛选后的值,但两者都更新为未筛选的值。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-12-21 04:38:52

我在过去也遇到过同样的问题,但我没有创建自己的过滤器,而是走了一条不同的道路,找到了一些可以使用的东西。

assisrafael的angular-input-masks,这是我最喜欢的angular扩展之一:

https://github.com/assisrafael/angular-input-masks

示例:

http://assisrafael.github.io/angular-input-masks/

因为文档是作者写的,所以我不想过多地讨论它,这样将来就会过时了。作为一个快速参考,请查找ui-number-mask

也许这不是对你问题的直接回答,因为它不是用句点代替逗号,而是让你键入小数。

顺便说一句,您可以使用ui-hide-group-sep取消数千个分隔符

我希望这对你有帮助,否则请留下评论,我很乐意继续帮助你!

-Helvio

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41250708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档