Php 如何在symfony中生成带变量的字符串
我想使用以下代码:Php 如何在symfony中生成带变量的字符串,php,javascript,symfony,Php,Javascript,Symfony,我想使用以下代码: document.getElementById("btn").setAttribute("href", "{{ path('deletecontact', { 'id': "idx" }) }}"); 向按钮添加属性以删除所选联系人 idx是javascript函数的参数。现在id总是字符串“idx”,但是如果我将“”删除到idx,将会出现symfony错误 我尝试使用“+”链接字符串,如: "{{ path('deletecontact', { 'id': "+idx+
document.getElementById("btn").setAttribute("href", "{{ path('deletecontact', { 'id': "idx" }) }}");
向按钮添加属性以删除所选联系人
idx是javascript函数的参数。现在id总是字符串“idx”,但是如果我将“”删除到idx,将会出现symfony错误
我尝试使用“+”链接字符串,如:
"{{ path('deletecontact', { 'id': "+idx+" }) }}"
但结果是它将把字符串“+idx+”作为id
我也试过:
var str1 = "{{ path('deletecontact', { 'id': ";
var str2 = str1 + idx;
var str3 = str2 +" }) }}";
但是,symfony中也会出现错误
那么我怎么才能把变量放到字符串中呢?
非常感谢您的“href”属性的值存在解析问题。看看“you have.”和“you have.”它们不起作用。我认为你把事情搞混了。你的
{path}
是由php(通过twig)计算的,而idx
是一个javascript变量。这意味着idx
的值只在运行时(客户端)可用,并且path
在这之前(在服务器上)呈现。您必须将url路径指定为javascript的字符串,例如,href:“/path/matching/your/route/“+idx
。或者,有一个捆绑包可以让javascript访问Symfony路由:另一个解决方法是创建btn,如下所示:…
,即只创建具有有效路径的按钮。然后,您可以访问javascript中的url,并将其用作一种模板url,根据需要替换id,例如通过regexp。非常感谢。我用第二种方法解决了这个问题。那很有用。Thx@马霍克