2012-09-09 66 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甚至返回你想让它当一个元素叫什么第一名。这对我来说似乎很奇怪。