0

如何只允许在 angularjs: 的文本框中输入小数。我找到了只有文章的数字。但它只是小数吗?

谢谢

4

3 回答 3

2

Demo jsFiddle

指示

   .directive('onlyNum', function() {
      return function(scope, element, attrs) {

         var keyCode = [8,9,37,39,48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,110];
          element.bind("keydown", function(event) {
            console.log($.inArray(event.which,keyCode));
            if($.inArray(event.which,keyCode) == -1) {
                scope.$apply(function(){
                    scope.$eval(attrs.onlyNum);
                    event.preventDefault();
                });
                event.preventDefault();
            }

        });
     };
  });

HTML

 <input type="number" only-num>

注意:不要忘记在 Angular js 中包含 jQuery

Demo jsFiddle

于 2013-11-14T08:40:34.407 回答
0

角度指令代码允许在文本框中保留 2 位小数

检查以下网址:

Working Demo

重新格式化浮点数后如何更新回文本框到小数点后两位

在上面的帖子中检查我的解决方案

于 2013-09-19T07:52:56.667 回答
0

我建议编写一个指令,检查用户输入的内容。如果他输入的不是数字,要么不要更新输入字段,要么删除错误的字符(不能 100% 确定哪种方法更容易)。使用指令应该比观察模型更节省内存。

这是一个全面的指令教程: http ://www.befundoo.com/university/tutorials/angularjs-directives-tutorial/

于 2013-09-19T07:37:26.423 回答