У меня есть функция в моем файле JS, которую я хочу дать значение переменной PHP с именем $ counter. Я получаю ошибку: $ counter не определен.
Вот код PHP:
<?php
$counter = 0;
foreach($res as $category){
echo '<div class="category" onmouseover="doChangeFontWeight($counter);" onmouseout="undoChangeFontWeight($counter);">';
echo '<p class="categoryDescription">'.utf8_encode($category['description']).'</p>';
echo '</div>';
$counter++;
}
?>
Javascript:
function doChangeFontWeight(counter) {
"use strict";
document.getElementsByClassName("categoryDescription")[counter].setAttribute("style", "font-weight: 900");}
'<div class="category" onmouseover="doChangeFontWeight('.$counter.');" onmouseout="undoChangeFontWeight('.$counter.');">';
Переменные не передаются внутри одинарных кавычек в PHP.
Вы можете попробовать повторить, используя двойные кавычки вместо одинарных.
echo "<div class='category' onmouseover='doChangeFontWeight($counter);' onmouseout='undoChangeFontWeight($counter);'>";
echo "<p class='categoryDescription'>".utf8_encode($category['description'])."</p>";
echo "</div>";