语法错误:预期表达式,在php和javascript中得到'}'。

问题描述 投票:-1回答:1

我有一个选择选项,当我选择一个选项时,它必须显示我的颜色。

看我的代码

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

脚本

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);
}

但我得到这个错误。

语法错误:预期的表达式,得到'}'。

javascript php jquery
1个回答
1
投票

试试

PHP你没有定义你的onclick属性的结束和开始,用""括起来,因为你也需要一个字符串参数到你的方法中,用''括起来,以免过早地终止属性字符串。

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

脚本在变量周围终止你的字符串,以表明变量要附加到字符串中。如果你只是在字符串里面写+ var +,那将是字符串的正常部分。

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

你在PHP中的输出方法也是混用的,我建议坚持使用一种,这样更容易阅读你的代码。

© www.soinside.com 2019 - 2024. All rights reserved.