我是一个相当陌生的PHP,遇到了一个适应别人程序的问题。我正在尝试实现购物车风格的php和javascript程序。购物车通过提交按钮(包括ID,数量,名称和价格)发布值来接受新条目。
<form method="post" style="border:0px solid yellow;" ><fieldset>
<input type="hidden" name="jcartToken" value="<?php echo $_SESSION['jcartToken'];?>" />
<input type="hidden" name="my-item-id" value="1" />
<input type="hidden" name="my-item-name" value="apples" />
<input type="hidden" name="my-item-price" value="2" />
<input type="hidden" name="my-item-qty" value="1" size="3" />
<input id="apples" type="submit" name="my-add-button" class="add" value=" "/>Apples - $2
</fieldset></form>
购物车通过php文件
通过GET命令删除项目 if($_GET['jcartRemove'] && !$_POST) {
$this->remove_item($_GET['jcartRemove']);
}
可以通过
触发此GET命令 <a href="index.php?jcartRemove=apples">no more apples</a>
但这只会触发一次。我想要的是有一个项目列表
当选择一个并通过表格贴法将其添加到购物车时,其他两个将自动从购物车中删除。有没有办法使用AJAX推送jcartRemove函数并删除其ID的两个项目?
任何帮助都会受到赞赏。
答案 0 :(得分:1)
除了进行多次AJAX调用之外,最好还是修改PHP并允许remove函数接受一个数组而不是一个项目。然后你可以传递一个或多个项目来立即删除所有项目。
例如:
if($_GET['jcartRemove'] && !$_POST) {
if (is_array($_GET['jcartRemove'])) {
foreach($_GET['jcartRemove'] as $item) {
$this->remove_item($item);
}
} else {
$this->remove_item($_GET['jcartRemove']);
}
}
您的链接看起来像多个项目:
<a href="index.php?jcartRemove[]=apples&jcartRemove[]=bananas">no more apples or bananas</a>
因为我们正在检查jscartRemove是否是一个数组,你仍然可以像往常一样传递一个项目,它也将继续工作。