Javascript ajax-symfony中的Concat变量

Javascript ajax-symfony中的Concat变量,javascript,symfony,twig,Javascript,Symfony,Twig,我想在按下add to cart后追加一个表行,但问题在于表行id,我想这样做 按下按钮后要追加的内容 function ajouter(idd, prix) { var test = idd; var urlEdit = "{{ path

我想在按下add to cart后追加一个表行,但问题在于表行id,我想这样做

按下按钮后要追加的内容

         function ajouter(idd, prix)
                                {
                                    var test = idd;
                                    var urlEdit = "{{ 
                path('ajouterAuPanier', { 'id': "id" }) }}";
                                    urlEdit=urlEdit.replace("id",test);
                                    $.ajax({
                                        method: 'POST',
                                        url: urlEdit,
                                        success: function(d)
                                        {
                                            if(d.msg == "success")
                                            {
                                                i++;
                                            alert("Item Added");
                                            var prixTotal = parseInt(document.getElementById('prixTotal').innerText);
                                            prixTotal = prixTotal + prix;
                                            document.getElementById('prixTotal').innerText = prixTotal;
                                               var id = {{ panier.id|json_encode() }};
                                                var table = document.getElementById("customers");
                                                var row = table.insertRow();
                                                var cell1 = row.insertCell(0);
                                                var cell2 = row.insertCell(1);
                                                var cell3 = row.insertCell(2);
                                                cell1.innerHTML =document.getElementById(idd+""+idd).innerHTML;
                                                cell2.innerHTML ="<div id="+id+id+id+">1</div><input type=\"submit\" name=\"+\" value=\"+\" style=\"margin-top: -11%;margin-left: 10%;\" onclick=\"updatePlus(i)\">" +
                                                    "<input type=\"submit\" name=\"-\" value=\"-\" style=\"margin-top: -19%;margin-left: 31%;\" onclick=\"updateMinus(i) \">\n";
                                                cell3.innerHTML ="<div id="+id+id+">"+prix+"</div>";
                                           // document.getElementById('cartt').innerHTML +="<div><td> PRODUIT AJOUTE </td><td> 1 </td></div>";
                                           }


                                        }
                                    });
                                }
我需要得到的是:

                      <div id="panier">
                            <td>{{ panier.nomProduit }} </td>
                    ====> <td><div id={{ panier.id }}{{ panier.id }}{{ panier.id }} > {{ panier.quantite }}</div>

                                <input type="submit" name="+" value="+" style="margin-top: -11%;margin-left: 10%;" onclick="updatePlus({{ panier.id }}) ">
                                <input type="submit" name="-" value="-" style="margin-top: -14%;margin-left: 22%;" onclick="updateMinus({{ panier.id }}) ">


                            </td>
                            <td><div id={{ panier.id }}{{ panier.id }}> {{ panier.prixTotal }} </div><br></td>


                        </div>

{{panier.nomProduit}
=>{{panier.quantite}}
{{panier.prixTotal}}

我在javascript中放置id的方式不起作用,有什么办法吗?

如果您的javascript代码在脚本标记中,通常应该可以工作

<script type="text/javascript">
    document.getElementById('cartt').innerHTML +="<div id=\"panier\"> 
    <td>"+document.getElementById('nomP'+id).innerHTML+"</td><div id="{{ 
panier.id }}{{ panier.id }}">1</div>";
</script>

document.getElementById('cartt')。innerHTML+=“
“+document.getElementById('nomP'+id).innerHTML+“1”;
但是如果您的代码在外部javascript代码中,我不确定它是否有效,因为在加载任何外部js文件之前,twig解释器首先呈现html页面。因此,当加载js文件时,细枝解释器已经完成了工作。
但我不确定这一点

好的。请用您的控制器更新您的问题,因为他不知道{{panier.id},所以

不起作用。在这种情况下,只需检查您是否在控制器中传递了变量panier。实际上,我正在处理一个扩展包含该变量panier的布局的页面。在控制器操作中,您是否呈现了一个模板?即使你扩展了一个布局,如果变量窗格没有传递给你呈现的模板,这个模板也不会知道。不客气。是的,这就是我所说的在您的响应中传递值,因为您的模板不知道它
<script type="text/javascript">
    document.getElementById('cartt').innerHTML +="<div id=\"panier\"> 
    <td>"+document.getElementById('nomP'+id).innerHTML+"</td><div id="{{ 
panier.id }}{{ panier.id }}">1</div>";
</script>