bootstrap datatables 这是bug么?

发布于 2021-11-24 12:02:41 字数 1822 浏览 743 评论 5

最近在使用datatables,感觉非常不错

在官网下载datatables 1.10.4

var table = $('#userTable').dataTable();
在使用datatable中动态查询的使

function refreshTable(){
    table.fnSettings().aoServerParams.push({
        "fn": function (aoData) {

            var serializeArr = $(".search_form").serializeArray();//获取查询条件并组装
            for ( var i = 0; i < serializeArr.length; i++) {
                var str = serializeArr[i];
                if(null != str['value'] && str['value'] != '')
                    aoData.push({"name": str['name'],"value":str['value']});
            }
        }
    });
    table.fnDraw();//刷新表格
}
没有任何的问题,但是获取选中行的时候

function select_row(){
var idArray = [];
table.rows('.selected').indexes().each( function (i) {
   var data = table.row(i).data();
   idArray.push(data['ID']);
});
return idArray;
}

竟然找不到table.rows is not a function

当var table = $('#userTable').DataTable();当d变为D的时候竟然可以用了,

动态查询就不能使用了table.fnSettings() is not a function

2者不可兼得?这难道是bug?



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

执手闯天涯 2021-12-01 08:42:40

table配置的是全局变量,源码js里面也有 fnSettings这个方法

岁月打碎记忆 2021-12-01 06:40:08

回复
var table = $('#userTable').dataTable(); 这个才是datatables的正确用法 而下面的table 你可以直接使用$("#ID") 的方式查找。不需要上面的那个table。

羁拥 2021-12-01 04:12:37

这里看你的table 是不是一个全局变量了。

爱你是孤单的心事 2021-12-01 03:57:27

谢谢,帮大忙了

悟红尘 2021-11-30 02:34:27

 dt初始化分为老版(1.9-)写法为$("
#tableid").dataTable();这样返回的是jquery对象,新版(1.10.+)的写法是$("#tableid").DataTable();这个返回的是api实例,如果在使用过程中出现某某方法不存在不支持之类的,一般都是由于是用第一种方法初始化dt,用返回的对象去调用api的方法,所以报错误。dt的api实例和jquery可以互转 ,jquery转api:dt.api();api转jquery:dt.to$(); 更详细请参考 API 手册 Datatables中文网:http://dt.thxopen.com/manual/api.html 

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文