2012-09-09 98 views
0

我想用join()分隔數組值,但它似乎不工作,它只是返回數組的最後一個值。如果我使用警報,它會同時顯示這些值。如何在textarea中顯示數組值?

var span_text=100; 
var val= [window["tma"+kj]; //input box values from input 1 - 20 e.g. tma1, tma2,......,tma20 
if(span_text<250){ 
    if(val>=5 && val<=10){ 
     $(div3).show();// dth div shown if the condition is met 
     counter1++; // number of elements in found in the condition 
     var once =[window["tma"+kj].toFixed(2)];//value of the input box in an array concatinated to two deciamal places 
     var kl = new Array(once); 
     var alphy= kl.join(','); 
     $('#com').val(alphy); 
    } 
} 
+0

應該是'var val = window ['tma'+ kj];'(然而,應該儘可能減少全局變量的使用) –

+1

你正試圖用join()分隔數組值。你一定是一些超級好的程序員。 – 2012-09-09 12:42:52

+0

仍然會返回最後一個值,如同時在alert()中輸出是5.85,5.65,5.79,但是我希望輸出是一個(5.85,5.65,5.79),而不是最後一個是5.79 – alpho07

回答

0

如果你的陣列看起來我下面的例子中,你可以做到這一點:

<textarea id="ta" rows="5" column="5"></textarea> 
var a =[1,2,3,4,5]; 
for (var i=0; i<a.length; i++) { 
    $('#ta').append(a[i]); 
} 
0
var once =[window["tma"+kj].toFixed(2)]; 

您現在有一個包含特定TMA輸入一個元素的數組。

var kl = new Array(once); 

您現在擁有相同的一個元素數組的副本。

所以你正在創建一個只有一個元素的數組。其餘的價值應該從哪裏來?

如果你想從所有TMA箱收集值,你可以做這樣的事情:

var values = [] 
for (var i=0; i<20; ++i) { 
    values[i] = window["tma"+(i+1)].toFixed(2) 
} 

...假設toFixed甚至返回你想讓它當一個元素叫什麼第一名。這對我來說似乎很奇怪。