Если я перебираю элементы в таблице - скажем, скрытое поле класса "pmtos" - как мне получить ссылку на текстовое поле (ввод) в пределах одной ячейки таблицы?
jQuery:
// Loop through each hidden field, which holds the outstanding amount
$(".pmtos").each(function () {
var os = $(this).val();
//
//find text box in same cell - and populate with some value
//
//
});
Благодарим вас за любые рекомендации по работе.
отметка
Здесь решение вопроса до него было отредактировано (по запросу):
$('#allocate').click(function () {
var recd = parseFloat( $('#pmtRecd').val() );
$('input.pmtallocated').each(function() {
var value = parseFloat( $(this).parent().prev().text() );
this.value = (recd >= value) ? value : recd;
recd = recd - this.value;
if (recd == 0) {
return false;
}
});
});
Примечание. Это не зависит от скрытого ввода. Он берет текст из td
во втором столбце.
Чтобы ответить на вопрос post-edit
Вы можете использовать siblings('.pmtallocated')
или prev('.pmtallocated')
чтобы получить вход. Использование siblings()
, вероятно, будет лучше из двух, поскольку он не полагается на pmtallocated
приходя непосредственно перед pmtos
в разметке:
$(this).siblings('.pmtallocated').val()
Вы можете использовать $(this).closest('input')
Проверь это. может работать для вас.
$(".pmtos").each(function () {
var os = $(this).val();
var input = $(this).closest('td').find('input[type=text]');
});
Пытаться
// Loop through each hidden field, which holds the outstanding amount
$(".pmtos").each(function () {
var os = $(this);
var cell = os.parent(); // gets the parent, i.e. the table cell
var input = cell.find('input')[0];
});
pmtallocated
иpmtos
)