我正在尝试使用脚本在运行时显示包含数据的表格。 我从表头调用了脚本。是否可以从表头调用函数。
</HEAD>
<BODY>
<TABLE id="dataTable" width="350px" border="1" onload="start('dataTable');">
<TR>
<THEAD>
<TR>
<TH>Select</TH>
<TH>Id</TH>
<TH>Name</TH>
<TH>Age</TH>
<TH>Dept</TH>
<TH>Option</TH>
</TR>
</THEAD>
</TABLE>
</BODY>
</HTML>
脚本是
function start(dataTable) {
var data = new Array();
var id;
var name;
var age;
var dept;
data[0].id = "1";
data[0].name = "Tamil";
data[0].age = "23";
data[0].dept = "CSE";
data[1].id = "1";
data[1].name = "Tamil";
data[1].age = "23";
data[1].dept = "CSE";
data[2].id = "1";
data[2].name = "Tamil";
data[2].age = "23";
data[2].dept = "CSE";
for (var i = 0; i<data.length; i++)
{
var table = document.getElementById(tableID);
var rowCount = data.length;
var row = table.insertRow(rowCount);
//Check box
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
cell1.appendChild(element1);
//ID Column
var cell2 = row.insertCell(2);
cell2.innerText = data[i].id;
//Name Column
var cell3 = row.insertCell(3);
cell3.innerText = data[i].name;
//Age Column
var cell4 = row.insertCell(4);
cell3.innerText = data[i].age;
//Dept Column
var cell5 = row.insertCell(5);
cell5.innerText = data[i].dept;
//Button Column
var cell6 = row.insertCell(6);
var element2 = document.createElement("input");
element2.setAttribute("type", "button");
element2.setAttribute("id", "dataRow"+id);
element2.setAttribute("value", "Edit");
cell6.appendChild("element2");
}
}
输出只是标题。我无法将数据放入表中。
感谢您提前提出建议。
最佳答案
width="350px"
px
是CSS。否px
使用 HTML 属性时。
onload="start('dataTable');"
没有load
事件于 <table>
,这永远不会被调用。放一个<script>
表后的元素用于调用函数。
var data = new Array();
为了保持理智,请使用[]
数组字面量语法:
var data= [
{id: 1, name: 'Tamil', age: 23, dept: 'CSE'},
...
];
var id; [and name etc.]
你永远不会使用这些变量。声明var
s 与对象的成员无关。
document.getElementById(tableID)
您将该变量命名为 dataTable
不是tableID
.
cell2.innerText = data[i].id;
innerText
是一个非标准的 IE 扩展。考虑使用标准textContent
首先属性(如果可用),或者只使用普通的旧 cell2.appendChild(document.createTextNode(data[i].id));
,它比任何一个都得到更广泛的支持。
element2.setAttribute("type", "button");
切勿使用getAttribute
/setAttribute
HTML 文档在 IE 中存在错误。相反,请使用 DOM Level 2 HTML 属性,无论如何,它们更容易阅读。 element2.type= 'button';
.
cell6.appendChild("element2");
这是一个字符串,而不是变量 element2
.
关于javascript - 如何正确运行此脚本以在运行时显示表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583996/