2011-05-22 121 views
0

我在代码中使用for循环创建了一个表格,并在多个数组中具有各种变量。我希望能够将数组中的值逐个放入列表中的每个表格单元格中。对于代码,我有这样的:从数组中插入单个值到表格单元格中

function tableCreate() { 
for (rownum = 1; rownum <= 7; rownum++) { 
    document.write("<tr>"); 
    for (colnum = 1; colnum <= 7; colnum++) { 
    if (rownum == 1 + colnum == 1) { 
     document.write("<td>" + id[0] + "</td>"); 
    } 
    } 
    document.write("</tr>"); 
} 
} 

var id = new Array("1022", "1112", "1230", "554", "1355", "1600"); 
var title = new Array("Prof.", "Prof.", "Prof.", "Prof.", "Asst. Prof.", "Asst. Prof."); 
var name = new Array("Catherine Adler", "Michael Li", "Maria Sanchez", "Robert Hope", "Wayne Li", "Kate Howard"); 
var position = new Array("Department Chair", "Asst. Chair", "TA Supervisor"); 
var er = new Array(2, 3, 1, 2, 1, 3); 
var yoe = new Array(18, 12, 10, 23, 8, 5); 
var cs = new Array(85000, 70000, 62000, 55000, 50000, 45000); 

上面的代码是一个外部JavaScript文件的所有部分。我尝试使用if语句来产生我想要的,但是失败了。现在我迷路了,我会感谢一些帮助。要重新设置,我想要说这个数组:var id = new Array(“1022”,“1112”,“1230”,“554”,“1355”,“1600”);

放入一个表列,并让该数组中的每个变量都取该列中的一个单元格。

+0

只是为了检查,你希望每个行包含一个id,标题,姓名,职务,呃,YOE,CS以该顺序? – Hogan 2011-05-22 20:01:09

回答

1

不太清楚,但我想你想要的是这样的:

function tableCreate() { 
for (rownum = 1; rownum <= 7; rownum++) { 
    document.write("<tr>"); 
    for (colnum = 1; colnum <= 7; colnum++) { 
     if (colnum == 1) { 
     document.write("<td>" + id[(colnum-1)] + "</td>"); 
     } 
    } 
    document.write("</tr>"); 
} 
} 

我希望这真的是你想要的东西:

// constants 
var colCount=7; 
var rowCount=7; 

// input data 
var id = new Array("1022", "1112", "1230", "554", "1355", "1600"); 
var title = new Array("Prof.", "Prof.", "Prof.", "Prof.", "Asst. Prof.", "Asst. Prof."); 
var name = new Array("Catherine Adler", "Michael Li", "Maria Sanchez", "Robert Hope", "Wayne Li", "Kate Howard"); 
var position = new Array("Department Chair", "Asst. Chair", "TA Supervisor"); 
var er = new Array(2, 3, 1, 2, 1, 3); 
var yoe = new Array(18, 12, 10, 23, 8, 5); 
var cs = new Array(85000, 70000, 62000, 55000, 50000, 45000); 

// make a special column. 
var complicatedName; 
for(index = 0; index < rowCount;index++) 
{ 
    complicatedName[index] = title[index]+' '+name[index]+' - '+position[index]; 
} 
colCount = colCount - 2 

// create the column array. 
var collist = [id,complicatedName,er,yoe,cs]; 

// make the table. 
function tableCreate() { 
for (rownum = 1; rownum <= rowCount; rownum++) { 
    document.write("<tr>"); 
    for (colnum = 1; colnum <= colCount; colnum++) { 
     document.write("<td>" + (collist[(colnum-1)])[(rownum-1)] + "</td>"); 
    } 
    document.write("</tr>"); 
} 
} 
+0

这实际上非常接近我所需要的,并且它帮助了很多。该表的标题是id,名称,标题,位置等。我不需要每列中的所有第一个值在一列中,但所有的值都是在第一列中的id数组中。 – michael 2011-05-22 20:07:21

+0

哦,等一下我是一个小人,我搞砸了。这就是我想要的非常感谢你。 – michael 2011-05-22 20:11:41

+0

@ michael - 请接受答案谢谢我(答案左侧的复选标记)。祝你好运。 – Hogan 2011-05-22 20:17:37

0

。在你的代码中的语法错误。

更改此:

if (rownum == 1 + colnum == 1) { 

...这样的:

if (rownum == 1 && colnum == 1) { 
相关问题