如何使用JQuery/Javascript获取HTML网格中的前一行值



如何使用Javascript/JQuery获取网格中上一列的值。

字段A、B和C始终输入字段(文本框(值。在第一行中,D、E、F的值总是"0";NA";在第二行以后,D、E、F的值应为A、B、C的前一行值,如下所示。如何使用jQuery获取前几列的值。

A   B   C  D  E  F  
--------------------
10  20  30 NA NA NA Edit
40  50  70 10 20 30 Edit
66  27  38 40 50 70 Edit 

根据我下面的代码,我得到了上一行的结果。但假设当我点击第二行的Edit时,它正在读取A、B、C中的当前列值。它应该读取之前的列值A、B、C。我有HTML字段来创建网格。

var xyz=0
$("tbody").find("tr").each(function () {
var val = $(this).find('td.tdColumnofAText').text();
if ($(this).find('td.tdColumnofAText').text() > 0) {
xyz = Number(val);
}
});
$('#txtofDValue').val(xyz);

考虑以下内容。

$(function() {
function initTable(table) {
var cur;
var next;
$("tbody tr", table).each(function(index, elem) {
cur = [
$("td:eq(0)", this).text().trim(),
$("td:eq(1)", this).text().trim(),
$("td:eq(2)", this).text().trim()
];
next = $(this).next();
if (next !== undefined) {
$("td:eq(3)", next).html(cur[0]);
$("td:eq(4)", next).html(cur[1]);
$("td:eq(5)", next).html(cur[2]);
}
});
}
initTable($("table"));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
<td>&nbsp;</td>
</tr>
<thead>
<tbody>
<tr>
<td>10</td>
<td>20</td>
<td>30</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Edit</td>
</tr>
<tr>
<td>40</td>
<td>50</td>
<td>70</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Edit</td>
</tr>
<tr>
<td>66</td>
<td>27</td>
<td>38</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Edit</td>
</tr>
</tbody>
</table>

这将遍历每一行并收集一些值。然后将其添加到"下一行"中的特定单元格(如果存在(。

最新更新