我想在每个Branch列的末尾添加新行,以使用Jquery显示Branch Total。但是在页面末尾出现问题,“分支总计”行在两行之前插入,我无法解决,请参见jsfiddle
问题是从当前行中选择下一行以在以下代码中插入新行的索引:
$('.units').each(function () {
//console.log(++i);
let thisUnit = $(this);
let thisIndex = $(this).index();
let firstColUnit;
let secondColUnit;
if ($(this).find('td[rowspan]').length == 2) {
firstColUnit = $(this).find('td:eq(0)');
secondColUnit = $(this).find('td:eq(1)');
}
if ($(this).find('td[rowspan]').length == 3) {
firstColUnit = $(this).find('td:eq(1)');
secondColUnit = $(this).find('td:eq(2)');
}
let firstColRowspanUnit = parseInt(firstColUnit.attr('rowspan'));
let secondColRowspanUnit = parseInt(secondColUnit.attr('rowspan'));
nextUnit += firstColRowspanUnit;
//nextUnit += thisUnit.index();
// let nextUnits = thisUnit.nextUntil('.units').last();
// let expectedRow = $('.allrow:eq('+(nextUnit-1)+')');
let expectedRow = $('.allrow:eq(' + (nextUnit - 1) + ')');
expectedRow.after('<tr><td colspan="6"><strong>Branch Total</strong></td></tr>');
let s = parseInt(firstColShip.attr('rowspan'));
let t = parseInt(firstColUnit.attr('rowspan'));
let tt = parseInt(secondColUnit.attr('rowspan'));
firstColShip.attr('rowspan', s + 1);
firstColUnit.attr('rowspan', t + 1);
secondColUnit.attr('rowspan', tt + 1);
});
有人可以帮助我吗?
答案 0 :(得分:0)
我可以找到问题所在,但无法解决。
下面的2行未考虑在内,因为它们的行距不大于1。
如果将它们删除,则效果很好
<!--Branch Total Row-->
<tr class="allrow">
<!--Ship Col-->
<!--Posting Col-->
<td rowspan="1">HM/CAB</td>
<!--Branch Col-->
<td rowspan="1">STEWARD</td>
<td>L/STW</td>
<td></td>
<td></td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>
<!--Branch Total Row-->
<tr class="allrow">
<!--Ship Col-->
<!--Posting Col-->
<td rowspan="1">HM/CAB</td>
<!--Branch Col-->
<td rowspan="1">TOPASS</td>
<td>TOP-I</td>
<td></td>
<td></td>
<td>1</td>
<td>0</td>
<td>0</td>
</tr>