我需要从数据表中过滤掉列中不包含特定值的行。例如,对于下面的数据,我只想显示 type =“Dog”的结果:
<table id="petowners">
<tr>
<th>Type</th>
<th>Breed</th>
<th>Owner</th>
</tr>
<tr>
<td>Dog</td>
<td>Doberman</td>
<td>Peter</td>
</tr>
<tr>
<td>Cat</td>
<td>Jaguar</td>
<td>Paul</td>
</tr>
<tr>
<td>Dog</td>
<td>Poodle</td>
<td>Mary</td>
</tr>
<tr>
<td>Cat</td>
<td>Lion</td>
<td>Ringo</td>
</tr>
<tr>
<td>Cat</td>
<td>Tiger</td>
<td>John</td>
</tr>
</table>
这是我用来配置排序和每页结果的脚本。显然,基于列的过滤是我需要帮助的缺失部分。
$(document).ready(function() {
$('#petowners').dataTable( {
"order": [[ 0, "asc" ]],
"iDisplayLength": -1,
"oLanguage":
{
"sLengthMenu": 'Display <select>'+
'<option value="10">10</option>'+
'<option value="10">25</option>'+
'<option value="10">50</option>'+
'<option value="100">100</option>'+
'<option value="500">500</option>'+
'<option value="-1">All</option>'+
'</select> records'
},
} );
} );
我需要添加两个链接、按钮或复选框,一个用于“狗”,一个用于“猫”。
当用户单击“Dog”时,仅显示“类型”列中包含“Dog”的行。同样,当单击“Cat”时,仅应显示“Type”列中包含“Cat”的行。
这似乎是一个相当简单的功能,但我无法在 datatables.net 网站中找到任何显示如何完成此操作的内容。
我希望这是有道理的,有人可以提供帮助。
提前谢谢了
旺科萨内
使用当前版本的 DataTables,您可以使用“搜索”功能来执行此操作。
var data_table = $('#data-table').DataTable();
var column_index = 0;
data_table.columns(column_index).search('^(?:(?!-).)*$\r?\n?', true, false).draw();
如果您想撤消过滤器,只需传递一个空字符串而不是正则表达式即可。
data_table.columns(column_index).search('', true, false).draw();
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)