Я не могу получить предыдущий тд

0

Я знаю, что его спрашивали сотни раз, но я не могу найти способ получить предыдущий td - возможно, потому, что я начинаю jquery.

Вот мой код:

findOverdue = function () {
  $("tbody").find("tr").each(function () {
    var paymentDate = $(this).find('td.paymentDate').text();
    var paymentDateTest = $(this).find('td.paymentDate').prev('td').text();
    var currentDate = $(this).find('td.currentDate').text();
    var isInitial = $(this).find('td.isIntial').text();
    var monthlyInstalment = $(this).find('td.monthlyInst').text();
    var penaltySize = $(this).find('td.penaltyPercent').text();
    var lastUpdated = $(this).find('td.lastUpdated').text();

    console.log("paymentDateTest: " + paymentDateTest);
  });
};

Теперь я пытаюсь получить предыдущее значение td в переменной paymentDateTest без везения. Я пробовал несколько комбинаций без успеха. В журнале консоли ничего не отображается. Я знаю, что мне что-то не хватает, но я не могу это заметить.

РЕДАКТИРОВАТЬ:

HTML-таблица:

<table class="dataTable" id="repaymentShedule">
            <thead>
                <tr>
                    <th>1</th>
                    <th>2</th>
                    <th>3</th>
                    <th>3</th>
                    <th>4</th>
                    <th>5</th>
                    <th>6</th>
                    <th>7</th>
                    <th>8</th>
                    <th>9</th>
                    <th style="display: none;">10</th>
                    <th style="display: none;">11</th>
                    <th>12</th>
                </tr>
            </thead>
            <tbody data-bind="foreach: creditDetails">
                <tr>
                    <td class="paymentDate" data-bind="text: dateOfPayment"></td>
                    <td class="startBalance" data-bind="text: beginingBalance"></td>                        
                    <td class="monthlyInt" data-bind="text: monthlyInterest"></td>
                    <td class="principal"><input data-bind="value: princpalPayment"></input></td>
                    <td class="monthlyInst" data-bind="text: monthlyInstallment"></td>
                    <td class="ammountToPay" data-bind="text: ammountToPay"></td>
                    <td class="remainingBalance" data-bind="text: endingBalance"></td>
                    <td class="paid"><input type="checkbox" data-bind="checked: isPaid, disable: isPaid, click: testFunc, value: true"></td> <!-- value: true moje da ne e nujno -->
                    <td class="currentDate" data-bind="text: currentDate"></td>
                    <td class="penalty" data-bind="text: penalty"></td>
                    <td class="isIntial" data-bind="text: isIntial" style="display: none;"></td>    
                    <td class="penaltyPercent" data-bind="text: penaltyPercent" style="display: none;"></td>    
                    <td class="lastUpdated" data-bind="text: lastUpdated"></td>             
                </tr>
            </tbody>
        </table>
  • 3
    Пример HTML также, вероятно, поможет решить вашу проблему
  • 1
    Ред. Извините, я удалил бесполезный код, чтобы вам было проще. :)
Показать ещё 10 комментариев
Теги:
html-table
knockout.js

3 ответа

0
Лучший ответ

Я искал это:

var paymentDateTest = $(this).prev().find('td.paymentDate').text();

Огромное спасибо Roko C. Buljan за то, что он помог мне!

1

Попробуйте это, если вы непосредственно предшествуете td

var paymentDateTest = $(this).find('td.paymentDate').prev().text();
  • 0
    Какой еще брат может предшествовать элементу td
  • 0
    он может выбрать любой предшествующий скрытый родственный
Показать ещё 2 комментария
1

Я создал для быстрого jsfiddle, Похож

 alert($('.prevDate').prev('td').text())

работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню