HTML显示表中数组的数据

时间:2013-01-07 02:55:18

标签: php javascript html web

我是非常新的HTML,以及任何关于此问题的网络开发,很抱歉,如果这个问题非常容易。在我到目前为止所做的工作中,我从用户那里得到一些输入,对它们进行一些计算(使用我在head标签中声明的javascript函数),并吐出一个答案。在进行计算时,我将值存储在数组中,我希望用户能够看到这些数组中的内容。我想在表格中显示这些值。但是,我不知道如何将数组的值放在表的显示中。我知道这是一个表的工作方式:

<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>

但我想将我的值放在“第1行,第1行”等位置。 根据我的理解,表格标签必须用在HTML代码的正文部分(请告诉我,如果我错了!)所以我不知道如何做到这一点。我不能在我的函数中计算我的值时创建表,对吧?如何在我的函数中访问我创建的数组和存储的值?任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:1)

你可以创建表,实际上,甚至是函数,但为了简化,让我们使用你的表。

工作JSFIDDLE DEMO:http://jsfiddle.net/KEjpe/

JS:

var myjsonobject = { 
                    0: { 0: "row 1 cell 1", 1 : "row 1 cell 2"},
                    1: { 0: "row 2 cell 1", 1 : "row 2 cell 2"} 
                   }

var table = document.getElementsByTagName("table")[0];

var trs = table.getElementsByTagName("tr");

for(i=0;i<trs.length;i++)
{
   var tds = trs[i].getElementsByTagName("td");

   for(j=0;j<tds.length;j++)
   {
      tds[j].innerHTML = myjsonobject[i][j]
   }
}

HTML:

<table border="1">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>

答案 1 :(得分:1)

首先,您需要一个函数将tr和td附加到表中。

function addContentTo(table, myArr) {
    var frag = document.createDocumentFragment();
    var tr = document.createElement('tr');

    for (var col in myArr) {
        var td = document.createElement('td');
        td.innetHTML = col;
        tr.appendChild(td);
    }

    frag.appendChild(tr);
    table.appendChild(frag);
}

现在你可以朗读你的线阵列来填充你的桌子:

var table = document.getElementById('mytable');
for(var line in myArray) {
    addContentTo(table, line);
}

我认为你的数组是这样的:

myArray = [
    ['row 1, cell 1', 'row 1, cell 2'],
    ['row 2, cell 1', 'row 2, cell 2']
];

然后你的表格将动态构建,但在我的代码情况下,你的表格必须有id'mytable':

<table id="mytable"></table>

那是所有人。