Я собираюсь косоглазие, пытаясь выяснить мою синтаксическую ошибку здесь.
У меня есть таблица, которую я создаю динамически. Пользователь может щелкнуть одну ячейку подряд, чтобы получить предупреждение с примечаниями.
Проблема в том, что мои кавычки неверны, что бы я ни делал. Я явно чего-то не вижу.
Этот код PHP
"<td onclick='showNotes()' ></td>";
Получает меня в моем HTML-коде при рендеринге
<td onclick="showNotes()"></td>
Это выглядит хорошо и выполняет мой JQuery без проблем. Все идет нормально.
================================================== ======
Этот код PHP (где $ col содержит примечания для отображения)
"<td onclick='showNotes(" . $col . ")' ></td>";
получает это в моем HTML
<td onclick="showNotes(myNewNotes)"></td>
Единственная проблема здесь в том, что myNewNotes — это строка, которая должна заключаться в кавычки, иначе я получаю ошибку, что она не определена. ОК, двигаясь вперед.
================================================== ======
Так что теперь я пытаюсь этот код PHP
"<td onclick='showNotes(" . "'" . $col . "'" . "')' ></td>";
Который получает меня это в HTML, который является дерьмом.
<td onclick="showNotes(" myNewNotes'')'></td>
================================================== =======
Что здесь происходит?
Вы можете экранировать кавычки в вашей строке, что даст вам то, что вам нужно:
"<td onclick='showNotes(\"$col\")' ></td>";
Обычно вы должны использовать escape \ таким образом
"<td onclick='showNotes(\'" . $col ."\');' ></td>";
Как насчет этого
echo "td onclick='showNotes(" .'"'. $col .'"'. ")' ></td>";