2011-05-22 153 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) { 
相關問題