数据表搜索布尔值



我很难对 DataTables 对象中的布尔列上的三态下拉列表(任意、是和否(应用搜索。

下面是我数据的示例行:

{
"Id": 1,
"FirstName": "John",
"LastName": "Doe",
"Email": "JohnDoe@email.com",
"Elevated": true,
"Activated": true
}

这是我对下拉列表的标记:

<select class="form-control" id="elevated">
<option value="">Any</option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>

这就是我用来搜索列的内容:

const elevated = $("#elevated option:selected").val();
grid.column("Elevated:name").search(elevated).draw();

正在发生的事情是,只要下拉选项为任何,它就会清除搜索,但是每当下拉选项为是或否时,它不返回任何行。

如果我将选项值设置为 1/0 还是在搜索方法中指定 RegEx 参数,都没有关系。结果是一样的。

在浏览了一堆论坛之后,我发现了发生了什么。我正在使用columns.render根据单元格的值显示一个图标。这样做会导致它弄乱 columns.search。相反,我将columns.render替换为columns.createdCell,操作现有的DOM以显示我的图标,然后columns.search按预期工作。

最新更新