I'm using code from here http://www.korvus.com/blog/geek/making-the-tab-key-work-with-jeditable-fields/ to get tabbing between jeditable fields working, and if the fields are on their own it works fine. However I need to have my fields in a table, and the only time the tab key works is tabbing from the last field to the first, and of course I need it to tab from first to next and so on...
$('div.edit').bind('keydown', function(evt) {
if(evt.keyCode==9) {
$(this).find("input").blur();
var nextBox='';
if ($("div.edit").index(this) == ($("div.edit").length-1)) {
nextBox=$("div.edit:first"); //last box, go to first
} else {
nextBox=$(this).next("div.edit"); //Next box in line
}
$(nextBox).click(); //Go to assigned next box
return false; //Suppress normal tab
};
});
The table is formatted like this
<table>
<tr>
<td class='leftcolumn'>
<strong>Firstname:</strong>
</td>
<td>
<div class='edit' id='firstname'><?=$userdetail['firstname']?></div>
</td>
</tr>
<tr>
<td class='leftcolumn'>
<strong>Lastname:</strong>
</td>
<td>
<div class='edit' id='lastname'><?=$userdetail['lastname']?></div>
</td>
</tr>
</table>
Thanks in advance
I believe the issue is that your input fields are not direct siblings to each other, thus "next()" is failing. I think this will work: