当前位置: 首页 > 面试题库 >

快速使用JavaScript中的JSON数据动态填充表格的方法

卢朝
2023-03-14
问题内容

我正在尝试使用jQuery,JSON等,并遇到了以下任务。我在服务器上有一个加载程序脚本,该脚本以JSON格式返回表数据。收到JSON数据后,我想用它们填充表格。我目前正在使用类似于以下代码(有更多的列和一些更高级的处理,但您知道了):

...
for (var key=0, size=data.length; key<size;key++) {

  $('<tr>')
            .append( $('<td>').html(
                data[key][0]
            ) )
            .append( $('<td>').addClass('whatever1').html(
                data[key][1]
            ) )
            .append( $('<td>').addClass('whatever2').html(
                data[key][2]
            ) )
            .appendTo('#dataTable');
}
...

<table id="#dataTable"></table>
...

这行得很好。但是一旦数据增长,它就会变得非常缓慢。对于很少的记录,大约需要5秒钟(Firefox,IE)来建立表,而且速度有点慢。例如,如果我在服务器上创建整个HTML并将其作为字符串发送(包括在表中),它将非常快。

那么,有没有更快的方法来填表?

注意: 我知道分页是什么,最后我将使用它,所以请不要说“页面上需要这么大的表吗?”。这个问题是关于无论您将显示多少记录,如何快速填写表格:)


问题答案:

请参阅我对使用数组和“join”的早期类似查询的[响应]。

直到最后一次只调用一次时,才使用jQuery。另外,通过将字符串存储在数组中并使用“ join”方法一次性构建字符串,还可以减少字符串连接。

例如

 var r = new Array(), j = -1;
 for (var key=0, size=data.length; key<size; key++){
     r[++j] ='<tr><td>';
     r[++j] = data[key][0];
     r[++j] = '</td><td class="whatever1">';
     r[++j] = data[key][1];
     r[++j] = '</td><td class="whatever2">';
     r[++j] = data[key][2];
     r[++j] = '</td></tr>';
 }
 $('#dataTable').html(r.join(''));


 类似资料:
  • 问题内容: 用伪数据填充SQL表的最快方法是什么? 我有一张宽桌子,上面有大约40种不同类型的字段(int,bit,varchar等),需要进行一些性能测试。我正在使用SQL Server 2008。 谢谢! 问题答案: RedGate的SQL数据生成器 一键生成数据 基于列和表名称的真实数据 如果需要,可以自定义数据 消除了数小时的繁琐工作 完全支持SQL Server 2008

  • 本文向大家介绍bootstrap table.js动态填充单元格数据的多种方法,包括了bootstrap table.js动态填充单元格数据的多种方法的使用技巧和注意事项,需要的朋友参考一下 bootstrap-table.js动态填充table单元格数据,总结了几种方法以适应各种需求,以下就简单介绍两种方法: 方法一:全部自动填充table 方法二:表头这一栏固定,自动填充主体部分<tbody>

  • 问题内容: 我开始学习javaFX,我需要用数据库中的数据填充表。我在网上阅读了很多代码,但没有找到我想要的东西。我读了这篇文章,但不知道如何实现最后一个功能。我阅读了一些其他代码来做到这一点,到目前为止,这是我的一些代码: 我希望你能帮帮我 问题答案: 我相信这会为您提供帮助: 在控制器类中执行以下操作: 并为每个要使用TableView操纵的实体(表)创建一个单独的Java文件POJO 我已经

  • 问题内容: 我有以下jQuery代码。我可以从server获得以下数据。我该如何对此进行迭代,并用 另外,使用和之间有什么区别。 问题答案: 这应该可以解决问题: 这里的区别和(从jQuery的文档): [getJSON]是Ajax的简写功能,等效于: 编辑:要明确,部分问题是服务器的响应返回的是如下所示的json对象: …因此该属性需要使用手动解析。

  • 问题内容: 我有一个HTML表单,可以通过ajax保存到数据库中。为了获得键/值对的查询字符串,我使用了非常方便的函数,如下所示: 现在,我想加载一个空白表格,并用数据库中的数据重新填充它,该数据是通过ajax调用作为JSON字符串传递的。我已经能够获得具有正确键/值对的Javascript对象,如下所示: 重新填写表格的最简单,最优雅的方法是什么? 请记住,表单的输入元素是文本,选择,复选框和单

  • 问题内容: 我是PyQt的新手,正在努力填充QTableView控件。 我的代码如下: 实际上,在代码中,我成功地填充了QListView,但是未显示我设置为QTableView的值,您还可以看到我将行截断为10,因为它永远需要显示数据帧的数百行。 那么,从熊猫数据框中填充表模型的最快方法是什么? 提前致谢。 问题答案: 就我个人而言,我将创建自己的模型类以使其处理起来更加容易。 例如: