我可以通过DataTables下拉过滤器中的tr类名称过滤记录吗?
示例我有一个下拉列表如下:
<div>
<select>
<option value="Default">All</option>
<option value="Unread">Unread</option>
</select>
</div>
和tr如下:
<tr class="unread">
<td>test1</<td>
</tr>
<tr class="read">
<td>test2</<td>
</tr>
<tr class="unread">
<td>test3</<td>
</tr>
当下拉列表选中未读时,它将调用以下js代码来过滤掉&#34;读取&#34;上课时只显示&#34;未读&#34;班级名称:
$.fn.dataTable.ext.search.push(
function (settings, data, dataIndex) {
var test = settings.nTable.id;
}
);
答案 0 :(得分:0)
您几乎在那里看着添加到search
,但您需要引用其中的表api
。这似乎有效:
$(function() {
$.fn.dataTable.ext.search.push(
function(settings, data, dataIndex) {
if ($("#selector").val() !== "Default") {
var api = new $.fn.dataTable.Api(settings);
return api.row(dataIndex).nodes().to$().hasClass("unread");
} else {
return true;
}
}
);
var example = $("#example").DataTable();
$("#selector").on("change", function() {
example.draw();
});
});
这是一个有效的example,希望有所帮助。