2014-01-24 151 views
1

我有一个<input type="text">-字段的列表。我已经找到并将它们存储在像var x = $('#id').find('input').css('type', 'text')这样的变量中。所以x是包含所有输入字段的数组。当我按ENTER键时,我想切换元素。如果最后一个输入字段处于活动状态,我将在按下ENTER时返回到第一个输入字段。切换元素

如果用户点击5的第3个输入字段,则切换应该从第3个输入字段继续,并切换其余部分,直到重新开始。

现在我有一个console.log()语句,当按下ENTER时触发(它也适用于输入字段被激活时)。

我该怎么做?需要更多信息?或者你是否按照这个问题?

+0

显示更多的代码! [jsfiddle](http://jsfiddle.net/)是一个很好的地方! –

+0

你能分享一个html样本吗 –

回答

3

尝试

var $inputs = $('#myid input:text'); 
$inputs.keyup(function (e) { 
    if (e.which == 13) { 
     var idx = $inputs.index(this); 
     var $next = idx == $inputs.length - 1 ? $inputs.first() : $inputs.eq(idx + 1); 
     $next.focus() 
    } 
}) 

演示:Fiddle

+0

我可以理解发生了什么。出于某种原因,按下ENTER时$ next变量不会改变。但其余的看起来不错。我会暂时留在这条赛道上。 – Molle

+0

@Molle对不起,这是什么问题? –