dataTables if cell包含值的自定义过滤

时间:2015-06-17 08:35:14

标签: jquery filter datatables

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

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

以下是按行类过滤的示例,但我将拥有的数据源不会提供行类。

该示例使用:

    $.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值的行而不是具有类名的行。

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

提前感谢您的帮助!!

1 个答案:

答案 0 :(得分:1)

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

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

单选按钮根本不需要id

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

已将CX添加到下方的分叉小提琴中,并更改了&#34; gradeAll&#34;一个简单的*。现在您可以创建过滤器:

$.fn.dataTableExt.afnFiltering.push(function (oSettings, aData, iDataIndex) {
    var filter = $('input[name=RadioGroup1]:checked').data('grade'),
        grade = aData[4];
    return grade == filter || filter == "*";
});
分叉小提琴 - &gt;的 http://jsfiddle.net/vs0cagLj/