var columns = ['orange']
//compassvalues=compassvalues.split("~"):this is how I am getting values in array
compassvalues=["test", "testing","ok", "or"]
var table = document.getElementById('dbtable');
for (var i = 0; i < (compassvalues.length); i++)
{
var row = table.insertRow(-1);
for( var j = 0; j < columns.length; j++ ){
var cell = row.insertCell(-1);
cell.className = columns[j]; //
cell.innerHTML = compassvalues[i];
}
}
&#13;
<table id="dbtable" border="1">
<tr>
<th>Event</th>
<th>name</th>
</tr>
</table>
&#13;
伙计们,我如何将数组值分配给不同的列。我从db获取数组值。目前,所有值仅显示在一列中。
答案 0 :(得分:0)
编辑:更新你的for循环,以便 compassvalues [i] =将在事件下的值,而compassvalues [i + 1]将是名称下的值。
var columns = ['orange']
//compassvalues=compassvalues.split("~"):this is how I am getting values in array
compassvalues = ["test", "testing", "ok", "or"];
var table = document.getElementById('dbtable');
//loop through the array every 2 positions
for (var i = 0; i < (compassvalues.length); i = i + 2) {
var row = table.insertRow(-1);
var cell1 = row.insertCell(-1);
var cell2 = row.insertCell(-1);
cell1.innerHTML = compassvalues[i];
//add the 2nd column, or an empty string if we have
//an odd number in the array
cell2.innerHTML = compassvalues[i + 1] || '';
}
&#13;
<table id="dbtable" border="1">
<tr>
<th>Event</th>
<th>name</th>
</tr>
</table>
&#13;
答案 1 :(得分:0)
您正在内部循环中访问compassvalues
作为多维数组,即使它不是一个实例:
compassvalues=["test", "testing","ok", "or"] //4 elements, one dimension
cell.innerHTML = compassvalues[i][j];
在循环中,这会拉出compassvalues
数组中每个字符串元素的第一个字符。就目前而言,你基本上迭代每个字符串中的字符并为每个字符创建一个新单元格,而不是为每个单词创建一个单元格。如果您向columns
数组添加更多元素,则可以观察到这一点。
将其替换为
cell.innerHTML = compassvalues[i]
获取元素本身。