javascript - 数据表中特定列的下拉过滤器

标签 javascript jquery html datatable dropdown

我正在使用 DataTables 来创建表。其中一列包含“i”元素和隐藏输入。我想按该隐藏值过滤数据行,但我无法做到这一点。到目前为止,我发现问题出在 search() 方法中,我想它不会搜索像“input”这样的子元素,我在其中保留了我的值。 代码片段:

var select = $('<select><option value=""></option><option value="true">Accepted</option><option value="false">Rejected</option></select>')
                     .appendTo($(column.footer()).empty())
                                .on('change', function () {
                                    var val = $(this).val();

                                    column.search(val, true, false) // problem is here
                                        .draw(true);
                                });

最佳答案

没关系,我自己已经成功实现了这一点。我需要定义“columnDefs”,并在这个“目标”内定义您想要过滤和“渲染”的列。 代码如下:

var table = $('#dataCheck').DataTable({
    "sDom": "ltp",
    "columnDefs": [{
        "targets": [6],
        "render": function ( data, type, full, meta ) {
            if(type === 'filter'){
                return $('#dataCheck').DataTable().cell(meta.row, meta.col).nodes().to$().find('input').val();
            } else {
                return data;
            }
        }
    }],
    initComplete: function () {
        this.api().columns().every(function (i) {
            var column = this;
            if (i == 6)
            {

                var select = $('<select><option value="..."></option><option value="true">Accepted</option><option value="false">Rejected</option></select>')
                     .appendTo($(column.footer()).empty())
                                .on('change', function () {
                                    var val = $(this).val();

                                    column.search(val, true, false)
                                        .draw(true);
                                });

                column.data().unique().sort().each(function (d, j) {
                    select.append('<option value="' + d + '">' + d + '</option>')
                });
            }

        });
    }
});

关于javascript - 数据表中特定列的下拉过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40845217/

相关文章:

html - 删除页面上的上边距

javascript - Eclipse Neon (Java EE IDE) Javascript 编辑器损坏

javascript - 动态下拉列表值javascript

javascript - 代码在数据到达之前进入函数 - 如何使其在继续之前等待所有数据?

javascript - 无法删除的输入字段中的文本

html - 全屏背景html

javascript - for 循环中的闭包

jquery - 将选择器添加到我的 iframe

javascript - jQuery 不会让我做 if block ?

javascript - 如何修改选定元素中包含多个元素的一个元素?