我想在Angular x-editable中有一个输入字段,它只接受数字输入。我想在单击可编辑元素时修改此部分。但我无法找到它。这来自
我想使用ng-keydown验证,我想将其插入此内容但我不知道如何。请帮忙!
谢谢!
答案 0 :(得分:1)
要让角度x可编辑输入仅接受数字字符,您可以使用editable-number
从官方网站http://vitalets.github.io/angular-xeditable/#html5-inputs
中查看此演示中的数字字段答案 1 :(得分:0)
我能够解决我的问题。我编辑了xeditable.js
您可以在xeditable.js中搜索此部分
self.inputEl.addClass('editable-input');
self.inputEl.attr('ng-model', '$data');
我添加了这部分
self.inputEl.attr('ng-keydown', 'editableKeydown($event)');
editableKeydown的JS($ event)
$scope.editableKeydown = function ($event) {
if ($.inArray($event.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A
($event.keyCode == 65 && $event.ctrlKey === true) ||
// Allow: home, end, left, right
($event.keyCode >= 35 && $event.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if (($event.shiftKey || ($event.keyCode < 48 || $event.keyCode > 57)) && ($event.keyCode < 96 || $event.keyCode > 105)) {
$event.preventDefault();
}
global.editableCount = global.editableCount + 1;
if (global.editableCount > 5) {
$event.preventDefault();
}
};
注意:global.editableCount是从另一个js文件声明的。我仍然是javascript,jquery和angular的初学者,所以我的代码还没那么优雅。 但是这个有效。我能够使角度x可编辑输入仅接受数字字符。