我试图通过使用一些JS函数来加载一些选择选项。如果它等于之前定义的PHP变量,我希望默认选择一个选项。
我收到错误:
意外的令牌
我确信我的语法错误了:
这是我的JS功能的一部分:
for(var i = 0; i < categories.length; i++){
select.options[i] = new Option(categories[i].val,categories[i].id);
if (select.options[i].text== <?php echo '$categoriesSelect'; ?>)
{
select.options[i].selected=true;
}
}
变量$categoriesSelect
在JS之前定义。谢谢!
答案 0 :(得分:8)
你需要引用你的字符串。
更改(来自您的评论):
if (select.options[i]== <?php echo "json_encode($categoriesSelect)"; ?>)
到:
if (select.options[i].text == "<?php echo $categoriesSelect; ?>")
这将根据选项的文本进行验证。将.text
更改为.value
以针对该选项的值进行验证。
...也删除了json_encode()
,因为变量只包含一个字符串。
答案 1 :(得分:2)
您需要删除php函数周围的引号:
这
if (select.options[i].text== <?php echo '$categoriesSelect'; ?>)
要
if (select.options[i].text== '<?php echo $categoriesSelect; ?>')