2012-02-19 93 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>