2015-12-22 4 views
0

Я использую jquery datatables.net, и у меня есть таблица с информацией. В одном столбце у меня есть истинные или ложные значения для того, активен или нет пользователь. Я пытаюсь получить это, когда значение ложно, выделите значение. Сейчас мой код моих настроек таблицы выглядит следующим образом:Выделите конкретную базу строк на содержимое в jQuery datatables

 //Settings for datatable 
     $('#userTable').DataTable({ 
      "jQueryUI": true, 
      "serverSide": true, 
      "ajax": { 
       "type": "POST", 
       url: "/Management/StaffGet", 
       "contentType": 'application/json; charset=utf-8', 
       'data': function (data) { console.log(data); return data = JSON.stringify(data); } 
      }, 
      "columns": [ 
       { "data": "employeeNumber" }, 
       { "data": "firstName" }, 
       { "data": "lastName" }, 
       { "data": "role" }, 
       { 
        "data": "active", 

       }, 
       { 
        "data": "employeeNumber", 
        "render": function (data, type, full, meta) 
        { 
         return '<a href="/Management/Edit/' + data + '">Edit </a> &#124; <a href="/Management/Delete/' + data + '">Delete </a>'; 
        } 
       } 
      ], 
      "order": [[ 0, "asc"]], 
      "paging": true, 
      "deferRender": true, 
      "processing": true, 
      "stateSave": false, 
      "lengthMenu": [[5, 10, 25, 50, -1], [5, 10, 25, 50, "All"]], 
      "pageLength": 10, 
      "pagingType": "simple_numbers", 
      "searching": false, 
      "createdRow": function (row, data, index) { 
       if (data[4] == "false") { 
        $('td', row).eq(5).addClass('highlight'); 
         } 
       } 
     });` 

Тогда мой код для КССА:

`<style type="text/css"> 
     td.highlight { 
     font-weight: bold; 
     color: red; 
    } 
</style>` 

Я чувствую, что есть проблема с установкой на колонке, любая помощь оценили.

+0

Когда вы осмотрите тд с браузером инспектора, он попадает в класс «выделить»? –

+0

нет нет. он не показывает какой-либо экземпляр «highlight» для него –

+0

Что вы получите, если вы 'console.log (data [4])' прямо перед вашим оператором if: 'if (data [4] ==" false ") {'? –

ответ

0

Попробуйте

$('#userTable').DataTable({ 
... 
"createdRow": function(row, data, dataIndex) { 
    //console.log(data[4]); 
    if (data[4] == "false") { 
      //console.log($(row).find("td").eq(4).html()); 
      $(row).find("td").eq(4).addClass('highlight'); 
    }}, 
... 

комментируемого заявления журнала находятся там, чтобы проверить, что вы получаете и сравнивая правильные данные.

Испытано с DataTables 1.10.1

+0

, которые не работали –

+0

Извините за поздний ответ - праздник вдали от компьютера =) «createdRow» было добавлено в datatables 1.10. Обновляется ли возможность? – scottysmalls

+0

В настоящее время я использую 2.1.4 –

Смежные вопросы