$('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
};
});
表格的格式如下
<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>
预先感谢
#1 楼
我认为问题在于您的输入字段不是彼此直接同级的,因此“ next()”失败了。我认为这会起作用:$('div.edit').bind('keydown', function(evt) {
if(evt.keyCode==9) {
var nextBox='';
var currentBoxIndex=$("div.edit").index(this);
if (currentBoxIndex == ($("div.edit").length-1)) {
nextBox=$("div.edit:first"); //last box, go to first
} else {
nextBox=$("div.edit").eq(currentBoxIndex+1); //Next box in line
}
$(this).find("input").blur();
$(nextBox).click(); //Go to assigned next box
return false; //Suppress normal tab
};
});
评论
这对我有用!除了我需要进行一次调整... @ SylvanK,您能在这里帮助我吗? stackoverflow.com/questions/24935069/…
–user2847749
2014年7月24日13:27
评论
参见stackoverflow.com/questions/885616/…