微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

基本上我正在尝试做这样的例子

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");
        }
    }
});

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

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

解决方法

如果列中的所有单元格在初始化表时都具有data- *属性,则HTML5 data- *属性可用.您在每行插入数据搜索并插入其所有单元格后 – 这就是数据搜索在这种情况下不起作用的原因.

您可以使用渲染方法.

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

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

> https://datatables.net/manual/data/orthogonal-data
> https://datatables.net/reference/option/columns.render

原文地址:https://www.jb51.cc/html5/168094.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。