我有一個表有多行,每行包含三個單元格。每個單元包含一個文本框,所以它看起來是這樣的:在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