如何只允许在angularjs中的文本框中输入小数:。我找到的文章只有数字。但是它只是为了小数而已吗?
由于
答案 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
在上面的帖子中检查我的解决方案