如果单元格包含值,则数据表自定义过滤 <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>
已将 C
和 X
添加到下面的分支 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/
如何过滤包含具有特定值的单元格的数据表行?我需要显示所有行,或仅显示特定列中具有特定值 "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>
已将 C
和 X
添加到下面的分支 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/