Как добавить (или присоединить) переменную к переменной в JS - PullRequest
0 голосов
/ 20 февраля 2012

Я застрял, чтобы прикрепить counter-var (b) к текстовой переменной (строка) - не математическое - Просто добавить счетчик (b) к data-var в 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>

Спасибо!

Ответы [ 3 ]

1 голос
/ 20 февраля 2012

Вы должны просто использовать массив вместо попытки динамически использовать имя переменной:

<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>
1 голос
/ 20 февраля 2012

Вы можете использовать функцию json_encode для создания javascript-объекта, который вы можете легко перебирать.http://www.php.net/manual/en/function.json-encode.php

0 голосов
/ 20 февраля 2012

Ваш php создает набор переменных, таких как data0, data1. Один из способов вернуть их обратно - это снять их с this или глобального window объекта:

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

Вероятно, было бы лучше создать массив с именем data в php:

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

for (var i = 0; i < data.length; ++i) {
  document.writeln(data[i]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...