如果我循环遍历表中的元素 - 比如类“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
//
//
});
感谢您提供有关此工作的任何指导。
标记
答案 0 :(得分:1)
尝试
// 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];
});
答案 1 :(得分:1)
检查一下。可能适合你。
$(".pmtos").each(function () {
var os = $(this).val();
var input = $(this).closest('td').find('input[type=text]');
});
答案 2 :(得分:1)
您可以使用$(this).closest('input')
答案 3 :(得分:1)
以下是编辑之前问题的解决方案(根据要求):
$('#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
的文本。
回答编辑后的问题
您可以使用siblings('.pmtallocated')
或prev('.pmtallocated')
来获取输入。使用siblings()
可能会更好,因为它不依赖pmtallocated
在标记之前直接pmtos
:
$(this).siblings('.pmtallocated').val()