syntaxerror: ожидаемое выражение, получил '}' в php и javascript - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть опция выбора, и когда я выбираю опцию, она должна показывать мои цвета

Посмотрите на мои коды

<?php foreach ($colors as $color) { ?>
    <option onclick=addColor("<?php echo $color->title ?>", this) value="<?= $color->id ?>"><?= $color->title ?></option>
<?php } ?>

script

function addColor(color_name, tag) {
    var optionTag = $(tag);
    var selectColor = '<span class="select-color mr-1"><img src="public/images/dialog_close.png">+color_name+</span>';
    var divRow = optionTag.parents('.row');
    divRow.append(selectColor);
}

но я получите эту ошибку.

SyntaxError: ожидаемое выражение, получено '}'

1 Ответ

1 голос
/ 24 апреля 2020

Попробуйте

PHP Вы не определяете конец и начало своего атрибута onclick, заключите его в "", так как вам также нужен строковый параметр для вашего метода, заключите его в '', чтобы не завершать строку атрибута преждевременно.

<option onclick="addColor('<?php echo $color->title ?>', this)" value="<?= $color->id ?>"><?= $color->title ?></option>

Javascript Завершить строку вокруг переменной, чтобы указать, что переменная должна быть добавлена ​​к строке. Если вы просто напишите + var + внутри строки, которая будет нормальной частью строки.

var selectColor = '<span class="select-color mr-1"><img src="public/images/dialog_close.png">'+color_name+'</span>';

Вы также смешиваете методы вывода в вашем PHP, я бы рекомендовал придерживаться одного вида make легче читать ваш код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...