angularjs:只允许在文本框中输入小数

时间:2013-09-19 07:31:41

标签: .net visual-studio-2010 angularjs

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

由于

3 个答案:

答案 0 :(得分:2)

演示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>

注意:不要忘记包含角度js的jQuery

演示jsFiddle

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

Angular指令代码,允许在文本框中添加2位小数

检查以下网址: Working Demo

How to update back to the text-box after re-format float into 2 decimal places

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