Jquery: проблема с индексом для ряда строк - PullRequest
0 голосов
/ 20 марта 2019

Я хочу добавить новую строку в конце каждого столбца ветвления, чтобы показать общее количество ветвлений с помощью Jquery. Но, получив проблему в конце страницы, строка «Общая ветвь» вставляется перед двумя строками. Я не могу ее исправить, см. 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);
});

Вот скриншот show image

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 20 марта 2019

Я могу определить проблему, но мне не удалось ее решить.

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>
...