2011-09-12 64 views
3

我有一個javascript數組,我想用HTML顯示它的一部分。在html表中顯示js數組

例如我將在身體中使用什麼html代碼來顯示QR4中的信息表 - 數字和國家?有到陣列,從而顯示整個QR4陣列就可以了其他地方,但編號也想知道如何選擇特定部分

QR4[25] = "China"; 
QR4[24] = "39241000"; 

QR8[25] = "China"; 
QR8[24] = "39241000"; 

QR8L[25] = "China"; 
QR8L[24] = "39241000"; 

QR4L[25] = "China"; 
QR4L[24] = "39241000"; 

我有這樣的代碼使用CSV,工作正常進行的表在PHP但我希望它是客戶端,而不是服務器端。像這樣的表就可以了...

<?php 
echo "<table>\n\n"; 
$f = fopen("csv.csv", "r"); 
while (!feof($f)) { 
    echo "<tr>"; 
    $line_of_text = fgetcsv($f); 
      echo "<td>" . $line_of_text[10] . "</td>"; 

    echo "<tr>\n"; 
} 
fclose($f); 
echo "\n</table>"; 
?> 
+3

請注意,示例中有幾個數組,而不僅僅是一個。據我所知,你想展示QR4數組的所有元素? – Edgar

+0

你想讓桌子看起來像什麼?你可以手工輸入一個樣本嗎? – Pointy

+1

陣列:你做錯了。變量名稱:你做錯了。解決這兩個問題,再來玩。 – Incognito

回答

1

下面是一個非常簡單的例子,說明如何做到這一點。

檢查this fiddle。您必須將數組傳遞給函數displayArrayAsTable()。然後,您可以指定要插入表中的數組範圍,例如從24到25,就像您詢問的那樣,否則將處理所有數組。

該函數將返回一個表格元素,然後您可以將其追加到您覺得更合適的位置,或者調整該函數以便始終將其插入到您想要的位置。

+0

這真是太棒了!如果我想產生的數據爲​​DATA - 最好的方法是改變代碼? – Jon

+0

這將只給你一行字符串內的數組的數據,而不會創建任何元素。 [檢查這個](http://jsfiddle.net/2waZ2/18/)。 –

+0

我有一個標題的垂直表。我想用數組插入數據。我猜想最好的方法是將td添加到原始表格中。但是製作一張新桌子可能會更容易。我想我在代碼中看到表格標籤是從哪裏來的,所以我想我可以把它們拿出來或進去。但是我沒有太多的運氣,謝謝 – Jon

1

要顯示一個HTML表格使用這個QR4陣列中的所有行:

<table> 
    <tr> 
     <th>ID</th> 
     <th>City</th> 
    </tr> 

    <script type="text/javascript"> 
    for(id in QR4) 
    { 
     document.write('<tr><td>' + id + '</td><td>' + QR4[id] + '</td></tr>'); 
    } 
    </script> 
</table> 

要顯示從Javascript數組特定元素的HTML表中使用這樣的:

<table> 
    <tr> 
     <th>Number</th> 
     <th>City</th> 
    </tr> 

    <script type="text/javascript"> 
     document.write('<tr><td>' + QR4[24] + '</td><td>' + QR4[25] + '</td></tr>'); 
    </script> 
</table> 

正如我懷疑你想要的QR [24]和QR結合[25]在一個行元素,這就是我我的第二個代碼示例中一樣。但是如果情況如此,你的數組結構不是很合乎邏輯。

我給你的代碼示例從Javascript數組中選擇數據,並將它們放在HTML表格中,現在它以你需要的方式使用它..因爲這對我來說根本不清楚..

+0

看起來不錯 - 進出口測試 - 謝謝 – Jon

+0

哪些id的將被改變?全部或部分? – Jon

+0

我不明白你的問題,但我已經編輯我的帖子了一些更多的信息。 – kevindh89

0

假設您已經定義了表格,您可以使用一些簡單的DOM方法添加和刪除行。

var table = document.getElementById("mytable"); 
for(i=0; i < QR4.length;i++) { 
    var row = table.insertRow(table.rows.length); 
    var cell = row.insertCell(0); 
    cell.innerHTML = QR4[i]; 
} 
+0

當我運行這個我得到數字24和25作爲新的在表的底部。我如何輸出數據而不是陣列號,並且我寧願將數據作爲表中的第二列而不是第二行 - 因此數據是垂直的。我想我沒有意識到,當我問q ... – Jon

+0

有沒有辦法將它集成爲添加列到現有的表。我正在處理這段代碼,但它將列添加爲空。一世;對於(i = 0; i Jon

+0

var cell = row.insertCell(columnNumber);所以對於第一列,它是insertCell(0),第二列是insertCell(1),第三列是insertCell(2)等。 –