javascript - 一页上有多个表格的数据表

标签 javascript jquery datatables

我想问一下如何使用 DataTables 插件在一页上通过 JavaScript 代码生成更多表格。三个表中只有两个以错误的顺序呈现。

jsfiddle

var keywords1 = JSON.parse("{\"1\": [\"lor\"],\"2\": [\"ember\"],\"3\": [\"pleasant\"]}");
var keywords2 = JSON.parse("{\"1\": [\"bachelor\"],\"2\": [\"mber\"],\"3\": [\"pleasant\"]}");
var keywords3 = JSON.parse("{\"1\": [\"b\"],\"2\": [\"rem\"],\"3\": [\"pl\"]}");

    buildKeywordTableString(keywords1);
    buildKeywordTableString(keywords2);
    buildKeywordTableString(keywords3);


    function buildKeywordTableString(keywords){

    var keywordTableString = '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>';

    var keys = Object.keys(keywords);
    var dataSet = new Array();

    for (var i = 0; i < keys.length; i++){
        for (var j = 0; j < keywords[keys[i]].length; j ++){
            var row = new Array();
            row.push(keywords[keys[i]][j]);
            row.push(keys[i]);
            dataSet.push(row);
        }
    }

    $('#example').dataTable( {
    "data": dataSet,
    "columns": [
        { "title": "Key" },
        { "title": "R" }
    ]
} );   

    document.body.innerHTML = keywordTableString + document.body.innerHTML;
}

感谢您的帮助。

最佳答案

每次 buildKeywordTableString() 运行时,它都会使用 id="example" 创建另一个表,这是错误的,因为 ids 应该是唯一的。不确定$('#example')会找到哪个节点。

您实际上可以创建并添加一个新表,然后将数据表应用于它,而不需要 ID。

function buildKeywordTableString(keywords) {
    var keys = Object.keys(keywords);
    var dataSet = [];
    for (var i = 0; i < keys.length; i++) {
        for (var j = 0; j < keywords[keys[i]].length; j ++) {
            dataSet.push([
                keywords[keys[i]][j],
                keys[i]
            ]);
        }
    }
    $('<table cellpadding="0" cellspacing="0" border="0" class="display"></table>')
        .prependTo("body")
        .dataTable({
            "data": dataSet,
            "columns": [
                {"title": "Key"},
                {"title": "R"}
            ]
        });
}

这至少应该给你一个战斗的机会。

关于javascript - 一页上有多个表格的数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26593642/

相关文章:

javascript - 完整日历: On click of time slot wrong time selected

javascript - Jquery - 创建动态名称选择器

javascript - jquery 数据表操作导致整个页面重新加载

javascript - 使 Facebook 插件响应

javascript - 数据表过滤器不起作用

javascript - 获取 jquery 单元格数据

javascript - Chrome 扩展程序 - content_script.js 未正确加载

javascript - 使用 momentJS 比较 2 个日期

javascript - 矩减法的不一致

javascript - 在 ajax 成功响应上调用 data-id