首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS $filter(' number ')出错,在3个字符后删除

AngularJS $filter(' number ')出错,在3个字符后删除
EN

Stack Overflow用户
提问于 2013-10-25 15:11:42
回答 1查看 589关注 0票数 0

我有一个输入,它只要求条目是数字(我知道有一个input type="number",但我不喜欢放在上面的旋转器),所以我想我应该使用AngularJS的$filter('number'),查看$scope上的变量进行更改并相应地过滤它。它可以正常工作,但是当有人输入一个超过1000的数字时,它会删除整个数字,然后重新开始。

下面是一个演示问题的小提琴:http://jsfiddle.net/xxAq2/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-25 15:19:44

这是因为$filter('number')("1000")的返回值是"1,000“而不是"1000",然后parseInt只返回',‘之前的任何内容。

将代码更改为:

代码语言:javascript
复制
parseInt($filter('number')("1000").replace(/,/g, ""))

小提琴

编辑:在您输入的评论(没有parseInt)中,由于以下一系列事件,它仍然失败:

1) 100改为1000,手表回调跳转,1000改为1000。

2) 1000改为1,000,因此回调再次跳转,但随后将1,000更改为"“,因为$filter('number')("1,000")返回"”

3)对"“的1,000项更改,导致您所看到的空文本框。

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

https://stackoverflow.com/questions/19593535

复制
相关文章

相似问题

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