В JQuery как я могу получить соседнюю ячейку таблицы?
У меня есть таблица с несколькими строками, и каждая строка содержит три ячейки. Каждая ячейка содержит текстовое поле, поэтому оно выглядит так:
XXXX XXXX XXXX
в событии keyup первого текстового поля, я хочу, чтобы его содержимое было скопировано во второе текстовое поле, но не в третьем текстовом поле.
мое событие keyup Я могу получить ссылку на первое текстовое поле. Выполнение .parent() даст мне ячейку, и если я захочу, выполнение .parent() снова даст мне строку.
Какой JQuery можно использовать для получения смежного текстового поля?
Ответы
Ответ 1
Вы можете использовать .next()
, чтобы получить следующего брата, например:
var nextTD = $(this).closest("td").next();
//for your case:
$(this).closest("td").next().find("input").val($(this).val());
.parent()
работает, .closest()
является немного более гибким, поскольку вы можете изменить свою разметку, и она по-прежнему будет идти к ближайшему родительскому <td>
.
Ответ 2
Из .parent()
<td>
используйте next()
, чтобы перейти к следующему <td>
, затем .children('input')
, чтобы получить дочерний элемент <input>
.
Итак, вы получите что-то вроде этого в своем обработчике keyup
.
$(this).parent().next().children('input').val( this.value );
Ответ 3
Дайте функции next()
попробовать. Это выбирает следующего брата выбранного элемента.