javascript - 为什么我不能动态绘制表格?我怎样才能画出 table ?

标签 javascript html database debugging jquery

读者,

背景: 我有一个带有提交按钮的 html 页面。单击此按钮会转到 servlet 并从我的数据库中获取前 10 行数据。然后我通过 ajax 调用将这些数据返回给我的 javascript。一切正常。我可以在我的 javascript 中看到 json 格式的数据。

问题: 返回数据后,它会转到一个名为生成表的方法。但该表从未显示在我的 html 页面上。我试着按照这个演示 approach .调用此方法后如何绘制表格? <p></p>演示中的方法在我提供的链接中也不起作用。

function createTable(result)
    {
        var length = result.jsonList.length;
        var tablecontents = "";
        console.log(length);
        tablecontents="<table>";
        for(var i = 0; i < length; i++)
        {
            tablecontents += "<tr>"
            tablecontents += "<td>" + result.jsonList[i].Id + "</td>"
            tablecontents += "</tr>"
            console.log(result.jsonList[i].Id);
        }
        tablecontents="</table>";
        document.getElementById("tablespace").innerHTML = tablecontents;

    }

好的,所以 console.log 部分为我提供了以下输出:

1
2
3
4
5
6
7
8
9 
10

所以我有数据。但是,我的 html 页面上没有绘制任何数据库。这是相关的 HTML 代码:

<body>

  <form id = "submitTable" method="post">


        <center><input id="getTable" type="button" value="Table"></center>  
        <div id="tablespace"></div>

 </form>
</body>

我指出按钮调用了ajax。无需向您展示我的 ajax 调用,因为它有效。当它从 servlet 取回数据时,它会调用我的 createTable 函数。我知道它在工作,因为我可以使用 console.log 打印唯一的数据库 ID。然而,

document.getElementById("tablespace").innerHTML = tablecontents 

不工作?奇怪的是,当我在 chrome 上运行和查看源代码时。我看不到 html 的错误。所以我不知道我做错了什么?

最佳答案

tablecontents+="</table>"代替tablecontents="</table>"

关于javascript - 为什么我不能动态绘制表格?我怎样才能画出 table ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17932821/

相关文章:

javascript - 带 Glyphicon 的按钮比带文本的按钮小

MySQL sql 忽略 WHERE 条件

javascript - 使用@keyframes 以不透明度淡出时,如何使用事件重复动画?

javascript - JS 中获取 HiddenField 的值并传入 var

css - 为什么Fontin字体在浏览器上很锐利,但在PDF阅读器上却很流畅?

html - Bootstrap Material float 标签不适用于自动填充

MySQL 数据库设计 - 将这些字段放入用户表中还是创建新表?

database - 将单元格格式化为分钟 : seconds in google spreadsheets

javascript - 如何禁用CKEditor的源代码 View ?

python - 将 html 写入 csv 时出现奇怪的格式