2012-02-19 3 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 코드 *가 포함되어 있습니다. 혼란 스럽네요, 아니요 *? –

답변

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> 
관련 문제