2012-02-19 97 views
0

我堅持要在文本變量(字符串)上附加counter-var(b) - 不是數學 - 只需要在JS中的data-var上添加計數器(b)。 ..如何添加(或附加)變量JS中的變量

例子:

<script type="text/javascript">  

<?php 
$i=0; 
foreach ($sqldata as $data){ 
echo 'var data'.$i.' = 
Array("'.implode('", "', array_map('addslashes', $data)).'");';  
$i++; 
} 
echo 'var data_ges = '.$i.' ;'; 
?> 

for (b=0; b<data_ges; b++){ 
document.writeln (data+b[1]); // ERROR LINE - How do i escape here ? 
} 

</script> 

謝謝!

+1

那裏麪包含了可怕的* PHP代碼*。令人困惑,*沒有*? – 2012-02-19 23:53:57

回答

0

您的php正在製作一組變量,如data0,data1。捕捉到這些回來的一種方法是抓住他們離開this或全球window對象:

for (var i = 0; i < data_ges; ++i) { 
    document.writeln(window['data' + i]); 
} 

它可能會更好,實際上使一個數組中的PHP叫data雖然:

var data = []; 
<?php 
foreach ($sqldata as $data) { 
    echo 'data.push(' … ');'; 
}  
?> 

for (var i = 0; i < data.length; ++i) { 
    document.writeln(data[i]); 
} 
1

你應該只使用數組而不是試圖動態使用變量名稱:

<script type="text/javascript">  
    var data = []; 
<?php 
$i=0; 
foreach ($sqldata as $data){ 
echo 'data['.$i.'] = 
Array("'.implode('", "', array_map('addslashes', $data)).'");';  
$i++; 
} 
?> 

for (b=0, l = data.length; b<l; b++){ 
document.writeln (data[b]); // ERROR LINE - How do i escape here ? 
} 

</script>