javascript - 使用 javascript 或 jquery 将 JSON 数据解析为表的最佳方法

标签 javascript jquery html json

我在数据库中存储了一份文件,其中包含员工一周的日程安排,如下所示:

[ { _id: 55c407dc8ce6dfd4103c15db,
    'Last, First':
     { 'Mon   7/27': '10:15a-8:00p',
       'Wed   7/29': '10:15a-8:00p',
       'Fri   7/31': '10:30a-8:00p' },
    'Doe, John':
     { 'Tue   7/28': '2:00p-11:30p',
       'Thu   7/30': '8:00a-5:30p',
       'Sat   8/1': '10:15a-8:00p' }]

然后在我的主页上加载它:

$(document).ready(function() {
  populateTable();
  ...}

function populateTable() {
$.getJSON('/download/download', function(data) {
 ???
}

get Json 效果很好,可以完美地获取文档。但是,我不确定将信息解析为 html 表的最佳方法。理想情况下,我希望表格看起来像这样:

              Mon 7/27     Tue 7/28     Wed 7/29     Thu 7/30    Fri 7/31   Sat 8/1   Sun 8/2
Last, First  10:15a-8:00p             10:15a-8:00p
Doe, John                 2:00p-11:30p              8:00a-5:30p          10:15a-8:00p

我想知道在 populateTable() 函数中执行此操作的最佳方法是什么。我正在使用 jade 来查看 View 并将表设置为这样,但想知道附加到它的最佳方法是什么。

div.container
  div.content
    #mainTable
       table.table.table-striped
       thead
         tr
div.footer

谢谢!

最佳答案

populateTable() 的实现而言,我将执行以下操作:

  1. 看看我需要哪些列。可能通过遍历 data 中的每个员工,列出他们工作的所有日期。

  2. 创建标题行的方法是从一个空的 td 开始,然后为任何人工作的每个日期创建一个 th(在步骤 1 中创建)

  3. 为每位员工创建一行,并每天检查他们在 JSON 中的对象是否具有当天的值。如果他们这样做了,输出一个 td 和他们的时间,否则输出一个空的 td

这就是我将如何设计 populateTable()

的一般方案

关于javascript - 使用 javascript 或 jquery 将 JSON 数据解析为表的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31868552/

相关文章:

javascript - Canvas 径向渐变动画

javascript - 图像幻灯片并始终在其上保留文本

html - 页面底部的水平滚动导航栏

javascript - 一页上的多个幻灯片

javascript - 访问由 Object.create 创建的对象中的父( super )方法

javascript - 当字段改变时捕获事件

javascript - 向具有特定 CSS 属性的元素添加类

当 ajax 提交上未选择任何内容时,jquery 多选小部件不会发布空内容

javascript - 如何在不提交表单的情况下在输入类型文本调用函数javascript中按Enter键?

javascript - Laravel4 通过 XMLHttpRequest2 上传文件