2011-03-25 38 views
0

我可以訪問二維數組的第一維,但我將如何訪問第二維?我想在表格的文本區域中顯示數組的值,就像使用\ t和\ n等轉義序列一樣。如何將二維數組的值輸出到文本區域?

我到目前爲止來源:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd"> 
    <html> 
     <head> 
      <title></title> 
      <script type="text/javascript"> 
       var txt = ""; 
       var Person = new Array(4); 
       for (var i=0; i<4; i++) 
        Person[i] = new Array(5); 
       function display() 
        { 
         for (i = 0; i< 4; i++) 
         { 
          txt += "Person " + i + \t; 
          for (var j = 0; j < 5; j++) 
           txt += Person[i][j] + \t; 
          txt += \n; 
         } 
         document.getElementById("results").innerHTML = txt; 
        } 
      </script> 
     </head> 
     <body> 
      <form id="input"> 
<input type="submit" value="Submit" onclick="display()" /><br /> 
       <textarea id="results" rows="7" cols="39"></textarea> 
      </form> 
     </body> 
    </html> 

回答

0

也非常簡單:由

Person[i][j]; 

你讓Person數組的數組代替

<!-- stuck here --> 

。用Person[i],你已經有了它的i th元素,這是一個數組。通過Person[i][j],你已經得到了該內部數組的第個元素。

你也可以寫這樣的:

var array = Person[i]; 
innerHTML += array[j]; 

作爲一個側面說明,將其分配給innerHTML屬性之前,我想組裝您的文字,它的速度快了很多:你寫的方式現在意味着每次查找textarea,獲取其innerHTML,將其添加到它,並將其重新分配給innerHTML屬性。

+0

出於某種原因,當我點擊提交時,它不會在textarea中顯示任何內容。我編輯了源代碼並將其發佈到OP中,以便將所有數據放入一個變量中,然後將其內容分配給textarea。 – Psycho 2011-03-25 16:22:33

+0

也許是因爲您已將代碼放在'提交'按鈕上?你點擊'提交',你的代碼在頁面被刷新的時候被執行** ......這意味着在你的循環甚至停止運行之前頁面被銷燬。它在這裏工作:http://jsfiddle.net/wccUE/ – Martijn 2011-03-25 16:34:22

相關問題