我试图专注于使用jQuery的输入。我可以通过使用input标记的id轻松地做到这一点,但是这是从数据库字段设置为id的,并且以不同的方式进行排序。这使得它不能像我想要的那样集中精力工作。我想要做的是使用HTML5数据属性来进行重点关注,因此可以进行以下操作:

<input class="navigable" type="text" data-id="1" ID="123" data-number="1" maxsize="1">我希望能够使用jQuery专注于此。目前我有:

$('.navigable').keyup(function() {
    var self = $(this);
    var next = $('#txt'+(self.data('number')+1));
    if(next.length > 0 && self.val().length == self.attr('size')) {
    next.focus();
}


我的HTML标签必须是这样的:

<input type="text" class="navigable" id="txt1" data-number="1" maxsize="1">


提前致谢。

最佳答案

您的代码中有错字。如果条件},您忘记关闭。并且self.attr('size')将返回undefined。因为您在输入中没有任何名为size的属性。因此,将self.attr('size')替换为self.data('number')

尝试这个:

$('.navigable').keyup(function() {
    var self = $(this);
    var next = $('#txt'+(self.data('number')+1));
    console.log(next);
    if(next.length > 0 && self.val().length == self.data('number')) {
    next.focus();
    }
});


DEMO

关于javascript - 我将如何专注于jQuery的输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22582214/

10-13 01:54