Как получить значение из ячейки таблицы - PullRequest
1 голос
/ 13 июня 2019

Я пытаюсь получить значение даты (ETA) каждой строки таблицы и сравнить его с сегодняшней датой. Здесь возникает проблема всякий раз, когда я пытаюсь получить значение ячейки, которое отображается пустым

<div class="tableDiv" align="left">

         <table id="example" class="display" align="center">
           <thead>
             <tr style="color: #D2002E; background: #FFCC01;">
               <td>Date</td>
               <td>RR</td>
               <td>Origin</td>
               <td>Destination</td>
               <td>CNEE</td>
               <td>Status</td>
               <td>PUDate</td>
               <td>HAWB</td>
               <td>Pieces</td>
               <td>Weight</td>
               <td>ETA</td>
               <td>AWB</td>
               <td>Billed</td>
               <td>Details</td>
             </tr>
           </thead>
           <tbody id="table_body_Ops">
           </tbody>
         </table>
       </div>

здесь, где я получаю значения для каждой строки из базы данных (firebase)


  $("#table_body_Ops").append("<tr><td>" + ConfirmedDateValue +
      "</td><td class=\"valueRRField\">" + RRValue +
      "</td><td>" + OrgValue +
      "</td><td>" + DestValue + "</td><td>" + CustNameValue + "</td><td>" + ShipmentStatusValue + "</td><td>" + PUDateValue +
      "</td><td>" + HAWBValue + "</td><td>" + PiecesValue + "</td><td>" + WeightValue + "</td><td class=\"getETA\" >" + ETAValue +
      "</td><td>" + AWBValue + "</td><td>" + BilledValue + "</td><td><Button class=\"lisnClickOps\">" + "Expand" + "</Button></td></tr>");

здесь, где я пытаюсь получить значение ячейки ETA, чтобы позже сравнить его с сегодняшней датой, но все, что я получаю, этопросто пусто

$('#table_body_Ops').each(function() {

    var etaDateValue = $(this).closest("tr").find(".getETA").text();

    window.alert(etaDateValue);

 });

1 Ответ

2 голосов
/ 13 июня 2019

Попробуйте:

$('#table_body_Ops tr').each(function() {

    var etaDateValue = $(this).find(".getETA").text();

    window.alert(etaDateValue);

});

То, что вы делали в своем коде, проходило через каждый экземпляр всех тел таблиц, называемых #table_body_Ops - ну, есть только один.

ЧтоВы хотите выполнить цикл по всем строкам таблицы этого тела таблицы, поэтому укажите tr в функции .each, чтобы js перебрал все эти строки таблицы (не тела таблицы).

Затемвнутри .each() $(this) будет ссылаться на каждую строку таблицы - и оттуда вы будете искать нужную ячейку.

Обновление:

ТЕСТ: Измените свой код следующим образомэто:

/*
$('#table_body_Ops tr').each(function() {

    var etaDateValue = $(this).find(".getETA").text();

    window.alert(etaDateValue);

});
*/
alert('All is well'); //If this alert does not display, problem is elsewhere in your code.
...