html - dataTables HTML5 数据搜索单元格属性不起作用

标签 html datatables

基本上我正在尝试做类似这个例子的事情

https://datatables.net/examples/advanced_init/html5-data-attributes.html

我的代码如下

var dTable = $('#ajaxresults').DataTable({
    "order": [[1, "desc" ]],
    "sPaginationType": "full_numbers",
    "ajax": "/users.json",
    createdRow: function(row, data, index) {
        if(data[6]=="Special") {
            $(row).find('td').eq(0).attr("data-search", "Special");
        }
    }
});

但是,一旦数据集加载到页面上并且我尝试搜索 Special 没有任何返回,但是如果我在开发工具中查看它,我可以清楚地看到数据搜索属性被设置为列,从我已经阅读我认为我在初始化后添加了数据搜索列属性,这就是搜索不起作用的原因?但是我搜索了整个文档,但没有看到其他实现方法,有人对此有任何想法吗?

附言我忘了告诉你,“特殊”这个词不会出现在刚作为数据搜索属性添加给某些用户的任何列中,所以它不是真正可见的,但应该可以通过数据搜索属性进行搜索..

最佳答案

HTML5 data-* 属性有效如果在表格初始化时列中的所有单元格都具有 data-* 属性.您在每一行 之后注入(inject) data-search 并且它的所有单元格都被插入 - 这就是为什么 data-search 在这种情况下不起作用。

您可以改用渲染方法。

columnDefs : [
  { targets: [0], 
    render: function ( data, type, full, meta ) {
       if (type === 'filter') {
          return full[6] == "Special" ? "Special" : data
       } else {
          return data
       }
    }
  }
]

这将做同样的事情,当用户在搜索框中输入时,如果 col#6 == "Special",则为 col#0 返回“Special”。

关于html - dataTables HTML5 数据搜索单元格属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37095829/

相关文章:

javascript - 如何在点击 meteor 时更改图标

javascript - 模态主体中无法识别 JS 代码。为什么?

jquery - 语法错误 : missing ) in before using jQuery

javascript - 排序不起作用, Bootstrap 中的数据表

javascript - 如何获取填充有来自 firebase 的数据的表

html - 自定义 jsTree css 样式

javascript - 如何使固定元素在滚动时隐藏,然后在用户不滚动时出现

datatables - 单击下一个/上一个时将滚动条移动到第一行 - 数据表

css - 数据表处理信息不显示

codeigniter - Jquery DataTable 与 Ignited-Datatables CodeIgniter