Это единственное поле "comment-id ..."?В этом случае вы можете сделать что-то вроде
var field = $('input[id^="comment-id"]');
Это единственное в этой таблице?В этом случае вы могли бы сделать
$('.reply').click(function() {
var field = $(this).closest('table').find('input[id^="comment-id"]');
});
Это ни то, ни другое?Что ж, тогда вы можете сделать что-то вроде этого:
$('.reply').click(function() {
var field = $(this).closest('tr').next('tr').find('input[id^="comment-id"]');
});
Какой конкретный подход будет работать лучше для вас, можно решить, только если мы точно знаем, какие предположения вы готовы сделать относительно своей DOM.
Если об изменении DOM не может быть и речи, то, во-первых, я бы добавил классы к скрытым полям для облегчения доступа (.comment-id
over input[^="comment-id"]
).Вы также можете, если ваша DOM полностью непредсказуема и ни один из вышеперечисленных подходов не подходит вам, добавьте id="reply'. $row['id'] .'"
к вашей кнопке ответа, чтобы вы могли оттуда проанализировать идентификатор и сделать это:
$('.reply').click(function() {
var field = $('#comment-id' + $(this).attr('id').replace('reply',''));
});
Опять же, наилучший подход зависит от того, какие отношения вы знаете, на которые вы можете положиться, чтобы всегда существовать.