我有一个包含多行的表,每行包含三个单元格。每个单元格都包含一个文本框,所以它看起来像这样:
XXXX XXXX XXXX
在第一个文本框的keyup事件中,我希望将其内容复制到第二个文本框中,而不是第三个文本框。
我的keyup事件我可以获得对第一个文本框的引用。做.parent()会给我单元格,如果我想,再做.parent()会给我一行。
我可以用什么JQuery来获取相邻的文本框?
答案 0 :(得分:32)
你可以使用.next()
来获得下一个兄弟姐妹,如下所示:
var nextTD = $(this).closest("td").next();
//for your case:
$(this).closest("td").next().find("input").val($(this).val());
.parent()
也有效,.closest()
只是更灵活一点,因为你可以改变你的标记,它仍然会转到最近的<td>
父母。
答案 1 :(得分:3)
从.parent()
<td>
开始,使用next()
转到下一个<td>
,然后.children('input')
获取子<input>
元素。
所以你最终会在keyup
处理程序中找到类似的东西。
$(this).parent().next().children('input').val( this.value );
答案 2 :(得分:0)
尝试next()
功能。这将选择所选元素的下一个兄弟。