使用 JavaScript 数组中的数据创建 HTML 表的最快方法是什么?

2024-01-20

我有以下代码将 JSON 数据集转换为 html 表。 我想知道这是否是最快的方法,或者我应该使用jqote2和jquery来编写模板?

要求:

  • 可以通过单击更改列定义(客户端可以更改如何查看表,列定义数组将更改,并且可以重建表)
  • 排序、过滤和分页(我相信原始数据可以排序并且表格可以重建)
  • 转换(如果说 1 col 包含不同单位长度的数据,则可以在原始数据集中添加具有 1 个相同单位的数据的新 col,以便可以对数据进行排序)

那么,如果我走在正确的轨道上,或者我正在做一些已经存在的事情,有人可以指导我吗?

<div id="hii"><!-- table loads here --></div>

<script>
var set1={ // JSON dataset & col definitions
    'col':[ // definition/template of data to load in column cells
        [function(x){return '<a href="?sid='+x[1]+'">'+x[0]+'</a>';}],
        [function(x){return '<a href="?id='+x[2]+'">'+x[2]+'</a>';}],
    ],
    'data':[ // raw data, output table has only 2cells/row using these 3 values from each row
        ['Name 1','00000001','Value 1'],
        ['Name 2','00000002','Value 2'],
        ['Name 3','00000003','Value 3'],
        ['Name 4','00000004','Value 4'],
        ['Name 1','00000001','Value 5'],
        ['Name 5','00000005','Value 1'],
        ['Name 6','00000006','Value 1'],
        ['Name 7','00000007','Value 2'],
        ['Name 8','00000008','Value 6'],
        ['Name 9','00000009','Value 3'],
        ['Name A','00000010','Value 7'],
        ['Name B','00000011','Value 7'],
        ['Name C','00000012','Value 1'],
    ],
};
function tbody(x){ // function to create table, using dataset name passed to x
    for(i=0,data='';i<x.data.length;i++){
        data+='<tr>';
        for(j=0;j<x.col.length;j++){
            data+='<td>'+x.col[j][0](x.data[i])+'</td>';
        }
        data+='</tr>';
    }
    return data;
}
document.getElementById('hii').innerHTML='<table>'+tbody(set1)+'</table>';
</script>

您可以使用数据表 http://www.datatables.net/examples/。它可以与 jQuery 配合使用,并且可以进行主题化。您可以设置很多选项来满足您的要求,甚至更多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JavaScript 数组中的数据创建 HTML 表的最快方法是什么? 的相关文章

随机推荐