我正在尝试使用脚本在运行时显示包含数据的表。 我从表头调用了脚本。是否可以从表头中调用函数。
</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");
}
}
输出只是标题。我无法将数据放到表格中。
提前感谢您的建议。
答案 0 :(得分:0)
只需在<script>
后的</table>
标记中调用您的脚本即可。您的脚本应该能够看到表元素,因为它们已经加载
答案 1 :(得分:0)
宽度= “350像素”
px
是CSS。使用HTML属性时没有px
。
的onload = “启动( '的dataTable');”
load
上没有<table>
个事件,永远不会调用此事件。在表格后放一个<script>
元素来调用函数。
var data = new Array();
为了理智,请使用[]
数组文字语法:
var data= [
{id: 1, name: 'Tamil', age: 23, dept: 'CSE'},
...
];
var id; [和名称等]
你永远不会使用这些变量。声明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”);
永远不要在HTML文档中使用getAttribute
/ setAttribute
,IE中存在错误。而是使用DOM Level 2 HTML属性,无论如何都更容易阅读。 element2.type= 'button';
。
cell6.appendChild( “element2的”);
这是一个字符串,而不是变量element2
。