我试图专注于使用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/