Javascript专注于下一个输入字段

时间:2013-11-23 19:24:35

标签: javascript jquery html primefaces

我无法使用此功能,请提供帮助。 我有一个表,其中每个TD都有一个输入文本字段。我希望在用户按下一个字母后,焦点转到下一个TD的下一个输入文本字段。我的代码不能正常工作......我正在使用primefaces:

<p:inputText value="#{officialVar.officialAnswer}"
    id="officialAnswer" maxlength="1"
    onblur="value=value.toUpperCase()"
    onkeyup="$(this).next('input').focus();" />

我在onkeyup上发了一些警告,结果如下:

alert($(this));
    [object Object]
alert($(this).value);
    undefined
alert($(this).next('input'))
    [object Object]

我该如何做到这一点?

由于

编辑:如果我在同一个TD中有2个字段,那就可以了。

1 个答案:

答案 0 :(得分:3)

是的,它不起作用,因为所有<input>都是不是兄弟,但是他们的父<td>是。请参阅next() API docs。当您使用next()时,您指的是该元素的紧随其后的兄弟。

这应该有效:

onkeyup="$(this).parent('td').next('td').find('input').focus();"