如何只允许在 angularjs: 的文本框中输入小数。我找到了只有文章的数字。但它只是小数吗?
谢谢
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
我建议编写一个指令,检查用户输入的内容。如果他输入的不是数字,要么不要更新输入字段,要么删除错误的字符(不能 100% 确定哪种方法更容易)。使用指令应该比观察模型更节省内存。
这是一个全面的指令教程: http ://www.befundoo.com/university/tutorials/angularjs-directives-tutorial/