javascript - 根据属性值使用数据表按钮过滤列

标签 javascript jquery datatables

我的数据表上方有一个自定义按钮。当按下时,我希望它过滤属性值的第一列,因为该列单元格仅包含图像(国家/地区的标志)。

我的表格如下所示:

<table id="example">
    <thead>
        <tr>
            <th>Region</th>
            <th>First name</th>
            <th>Last name</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td data-order="United States"><img src="img/region_usa.png"></td>
            <td>George</td>
            <td>Washington</td>
        </tr>
        <tr>
            <td data-order="Europe"><img src="img/region_eur.png"></td>
            <td>Michael</td>
            <td>Ferguson</td>
        </tr>
        <tr>
            <td data-order="Japan"><img src="img/region_jap.png"></td>
            <td>Yuka</td>
            <td>Sakamari</td>
        </tr>
    </tbody>
</table>

这是我的初始化:

$('#example').DataTable({
    buttons: [
        {
            text: "Filter: USA",
            action: function(e, dt, node, config){
                dt.column(0).search("United States").draw();
            }
        }
    ]
})

但是不幸的是,这并没有起到任何作用。我做错了什么?

我用了Buttons collection , Buttons.actioncolumn.search()作为引用。

最佳答案

记住导入datatTables.buttons.js

<script type="text/javascript" src="https://cdn.datatables.net/buttons/1.2.1/js/dataTables.buttons.min.js"></script>

通过 data-search 更改您的 attr data-order(检查 HTML5 attr https://datatables.net/examples/advanced_init/html5-data-attributes.html )

...
<td data-search="United States"><img src="img/region_usa.png"></td>
...

并指出dom

$(document).ready(function() {

$('#example').DataTable({
   dom: 'Bfrtip',
   buttons: [
    {
        text: "Filter: United States",
        action: function(e, dt, node, config){
            dt.column(0).search("United States").draw();
        }
    }
    ]
})

});

结果: https://jsfiddle.net/cmedina/7kfmyw6x/63/

关于javascript - 根据属性值使用数据表按钮过滤列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37573213/

相关文章:

javascript - 复选框 - 仅在选中 jquery 时运行

javascript - Vue & <noscript> 问题

html - Chrome 在使用 jQuery ajax 时删除表单元素

javascript - 将数据表中的默认 Spring-Boot DateTime 转换为人类可读的日期时间

javascript - 数据表 1.10.4 aoColumnsDefs

javascript - 延迟加载与 ScrollTo anchor 到 ID 滚动冲突 - 在页面中途停止

javascript - 如何仅在调用jquery覆盖时才执行javascript?

javascript - 为什么关闭第一个模式对话框后无法显示第二个模式对话框?

jQuery .text() 多个元素同一个类

javascript - 使用 Spring Security 为非授权用户隐藏数据表中的按钮