如果单元格包含值,则数据表自定义过滤 <tr>

dataTables custom filtering of <tr> if cell contains value

如何过滤包含具有特定值的单元格的数据表行?我需要显示所有行,或仅显示特定列中具有特定值 "A" 的行。

        <tr>
            <td>...</td>
            <td>...</td>
            <td>...</td>
            <td>...</td>
            <td>A</td>
        </tr>

这里是一个按行过滤的例子class,但是我将拥有的数据源不会提供行classes。

示例使用:

    $.fn.dataTableExt.afnFiltering.push(function (oSettings, aData, iDataIndex) {    
      var myRowClasses = oSettings.aoData[iDataIndex].nTr.className.split(" ");
      var grade = $('.grade-check:checked').data('grade');    
      return myRowClasses.indexOf(grade) > -1;
    });

我需要更改它,以便它查找具有 td 值的行而不是具有 class 名称的行。

http://jsfiddle.net/lbriquet/d2b6vmdm/3/

提前感谢您的帮助!!

这里有一些问题。首先,您可以减少 RadioGroup1 元素的冗余处理:

$('[name="RadioGroup1"]').change(function () {
   oTable.fnDraw();
});

单选按钮根本不需要 id :

<label>
   <input type="radio" name="RadioGroup1" class="grade-check" data-grade="*" />
   All grades
</label>

已将 CX 添加到下面的分支 fiddle,并将 "gradeAll" 更改为简单的 *。现在您可以创建过滤器了:

$.fn.dataTableExt.afnFiltering.push(function (oSettings, aData, iDataIndex) {
    var filter = $('input[name=RadioGroup1]:checked').data('grade'),
        grade = aData[4];
    return grade == filter || filter == "*";
});

分叉 fiddle -> http://jsfiddle.net/vs0cagLj/