如何将字符串括起来以在ajax中形成适当的html表。 tr和td可以,但是表格有问题。
$.ajax(
{
cache: false,
type: "GET",
url: hosturl,
success: function (e)
{
$("#t1").append("<table>");
$("#t1").append("<tr> <th> Book Name </th> <th> Publisher Name </th> <th> Publish Year </th> </tr>");
for (var j = 0; j < 10; j++)
{
$("#t1").append("<tr>" + "<td>" + e[j].bookName + "</td>" + "<td>" + e[j].publisherName + "</td>" + "<td>" + e[j].publishYear + "</td>" + "</tr>");
}
$("#t1").append("<table>");
},
<div> Book DETAILS :</div> <br>
<div id="t1"> </div>
答案 0 :(得分:0)
首先,您可以将table
附加到t1
元素,然后可以直接将tr
附加到表中。
因此,在您的success
事件函数中,更改为以下内容:
$("#t1").append("<table><tr> <th> Book Name </th> <th> Publisher Name </th> <th> Publish Year </th> </tr></table>");
for (var j = 0; j < 10; j++)
{
$("#t1>table").append("<tr>" + "<td>" + e[j].bookName + "</td>"
+ "<td>" + e[j].publisherName + "</td>"
+ "<td>" + e[j].publishYear + "</td>" + "</tr>");
}
答案 1 :(得分:0)
您不能将部分元素附加到dom上,即表的开头,然后是表的结尾。
一个简单的解决方案是先构建HTML表字符串,然后附加它。
success: function (e)
{
var table = "<table>";
table += "<tr> <th> Book Name </th> <th> Publisher Name </th> <th> Publish Year </th> </tr>";
for (var j = 0; j < 10; j++)
{
table += "<tr>" + "<td>" + e[j].bookName + "</td>" + "<td>" + e[j].publisherName + "</td>" + "<td>" + e[j].publishYear + "</td>" + "</tr>";
}
table += "</table>";
$("#t1").append(table);
},