首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS x-editable :仅接受数字输入

AngularJS x-editable :仅接受数字输入
EN

Stack Overflow用户
提问于 2015-01-08 14:00:50
回答 2查看 1.3K关注 0票数 0

我想有一个在角度x-可编辑的输入字段,它只接受数字输入。当您单击可编辑图元时,我想修改此部分。但是我找不到它。这来自于

我想用ng-keydown来验证,我想把它插入到这个里面,但是我不知道怎么做。请帮帮我!

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2015-11-06 02:36:06

要让角度x可编辑的输入只接受数字字符,可以使用editable-number

请从官方网站查看此演示中的数字字段:http://vitalets.github.io/angular-xeditable/#html5-inputs

这里:http://jsfiddle.net/NfPcH/82/

票数 1
EN

Stack Overflow用户

发布于 2015-01-09 16:12:42

我能够解决我的问题。我编辑了xeditable.js

您可以在xeditable.js中搜索此部分

代码语言:javascript
复制
self.inputEl.addClass('editable-input');
self.inputEl.attr('ng-model', '$data');

我添加了这部分

代码语言:javascript
复制
self.inputEl.attr('ng-keydown', 'editableKeydown($event)');

JS of editableKeydown($event)

代码语言:javascript
复制
$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可编辑的输入只接受数字字符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27833857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档