我有一个表有多行,每行包含三个单元格。每个单元包含一个文本框,所以它看起来是这样的:在JQuery中,我怎么能得到相邻的表格单元格?
XXXX XXXX XXXX
在第一个文本框的keyup事件,我想它的内容被复制到第二个文本框,而不是第三个文本框。
我的keyup事件我可以得到第一个文本框的引用。做.parent()将给我的单元格,如果我想要,再次做.parent()会给我行。
我可以用什么JQuery来获取相邻的文本框?
我有一个表有多行,每行包含三个单元格。每个单元包含一个文本框,所以它看起来是这样的:在JQuery中,我怎么能得到相邻的表格单元格?
XXXX XXXX XXXX
在第一个文本框的keyup事件,我想它的内容被复制到第二个文本框,而不是第三个文本框。
我的keyup事件我可以得到第一个文本框的引用。做.parent()将给我的单元格,如果我想要,再次做.parent()会给我行。
我可以用什么JQuery来获取相邻的文本框?
您可以使用.next()
来获取下一个兄弟,是这样的:
var nextTD = $(this).closest("td").next();
//for your case:
$(this).closest("td").next().find("input").val($(this).val());
.parent()
工作过,.closest()
仅仅是一个更灵活一点,你可以改变你的标记,它还是会去的父母最近的<td>
。
从.parent()
<td>
,用next()
去下一个<td>
,然后.children('input')
让孩子<input>
元素。
所以你最终会在你的keyup
处理程序中得到类似的结果。
$(this).parent().next().children('input').val(this.value);
试试next()
函数。这将选择所选元素的下一个兄弟。
如果你在行上的最后一个单元格上会发生什么?你选择下一行中的第一个单元格吗?最后一行的最后一个单元发生了什么? – 2010-10-12 13:46:28