2014-01-24 150 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對不起,這是什麼問題? –