JSFiddle - React, Tailwind, and code Playground
HTML
<input type="text" value="some">
<input type="text" value="text">
<input type="text" value="some">
<br>
<input type="text" value="text">
<input type="text" value="some">
<input type="text" value="text">
<br>
<input type="text" value="some">
<input type="text" value="text">
<input type="text" value="some">
JavaScript
var inputs = $$('input'), size = inputs.length;
inputs.invoke('observe','keyup',function(e){
if(e.keyCode >= 37 && e.keyCode <= 40) {
e.stop();
var index = inputs.indexOf(e.element());
if(e.keyCode == 37) index -= 1;
if(e.keyCode == 39) index += 1;
if(e.keyCode == 38) index -= 3;
if(e.keyCode == 40) index += 3;
if(index < 0) index += size;
index = index % size;
inputs[index].select();
};
})