Использование jQuery для выделения строки данных, не работающей

Использование jQuery для выделения строки данных, которая не работает

У меня такое ощущение, что на этот вопрос будет довольно просто ответить, и что я упускаю что-то довольно незначительное.

Так что вот так.

У меня есть таблица, которая заполняется на основе некоторого MySQL. Код данных с данными выглядит так:

 $("#etlTable").DataTable({ "dom": '{amp}lt;"top"iflp{amp}lt;"clear"{amp}gt;{amp}gt;rt{amp}lt;"bottom"iflp{amp}lt;"clear"{amp}gt;{amp}gt;', "iDisplayLength": 100, "ordering": false, "autowidth": true, "columns": [{ "data": "file_name","class": "nowrap" }, { "data": "start_time", "class": "nowrap" }, { "data": "end_time"}, { "data": "duration"}, { "data": "outcome", "class": "chk"}, { "data": "client_name" }, { "data": "details" } ], "fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) { if (aData[4] == "Fail") { $(nRow).children().each(function (index, td) { $(this).addClass('res'); }); } } }); 

Я думаю, что это может быть, похоже, заявление if, которое вызывает проблему. Но я не уверен, что делать дальше.

В идеале я хотел бы выделить строку таблицы, когда значение столбца «Outcome» = «Fail»

Я могу заставить его работать без оператора If, но это лишь подсвечивает всю таблицу, что не очень полезно для меня.

Пример строки таблицы

 {amp}lt;tr role="row" class="odd"{amp}gt; {amp}lt;td class=" nowrap"{amp}gt;Customer1_File{amp}lt;/td{amp}gt; {amp}lt;td class=" nowrap"{amp}gt;2014-10-22{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;2014-10-22{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;00:25:26{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;Fail{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;Client_name{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;Job_Code_Details{amp}lt;/td{amp}gt; {amp}lt;/tr{amp}gt; 

Это то, что я использовал раньше, но это не работает, так как таблица загружается после запуска:

 {amp}lt;script type="text/javascript"{amp}gt; var i = 0; var x = document.getElementsByClassName("chk"); while (i {amp}lt;= x.length) { document.getElementsByClassName("chk")[i].className = "res"; x = document.getElementsByClassName("chk"); }; {amp}lt;/script{amp}gt; 

Если я сделаю это так:

 "fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) { $(nRow).children().each(function (index, td) { $(this).addClass('res'); }); } 

Это подчеркивает всю мою таблицу.

Я довольно новичок в JQuery / Javascript (поскольку это мой первый проект, я взял его у кого-то еще и попробовал собрать эту штуку вместе и внести некоторые улучшения).

Итак, мой вопрос, что я делаю здесь не так? Как выделить строку таблицы на основе значения ячейки?

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector