gpt4 book ai didi

javascript - ajax symfony 中的 Concat 变量

转载 作者:行者123 更新时间:2023-11-29 10:59:17 26 4
gpt4 key购买 nike

我想在按下添加到购物车后添加一个表行,但问题出在表行 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>";
}


}
});
}

我的 Controller 操作:

 public function ajouterauPanierAction($id)
{


$em = $this->getDoctrine()->getManager();
$produit = $em->getRepository(Produit::class)->find($id);
$test = $em->getRepository(Lignedecommande::class)->findExistant($id,$this->getUser()->getId());
count($test);

if(($produit != null)&&($test == null))
{
$lignedecommande = new Lignedecommande();
$lignedecommande->setProduitId($produit->getId());
$lignedecommande->setUserId($this->getUser()->getId()); //à changer avec le fos
$lignedecommande->setNomProduit($produit->getNom());
$lignedecommande->setImage($produit->getImage());
$lignedecommande->setEtat(0);
$lignedecommande->setQuantite(1);
$lignedecommande->setPrixTotal($produit->getPrix());
$em->persist($lignedecommande);
$em->flush();
$msg = "success";
}
else if($test != null)
{
$line = $em->getRepository(Lignedecommande::class)->findExistant($id,$this->getUser()->getId());

$line[0]->setQuantite($line[0]->getQuantite()+1);
$line[0]->setPrixTotal($line[0]->getPrixTotal()+$produit->getPrix());
$em->flush();
$msg = "done";
}
return new JsonResponse(array('msg' => $msg));
}

我需要得到的:

                      <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>

我将 id 放入 javascript 的方式不起作用,有什么办法可以做到吗?

最佳答案

如果您的 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>

但是如果您的代码在外部 javascript 代码中,我不确定它是否有效,因为 twig 解释器在加载任何外部 js 文件之前首先呈现 html 页面。所以当加载 js 文件时,twig 解释器就完成了工作。但是我不确定这一点

关于javascript - ajax symfony 中的 Concat 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50479270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com