如何在不刷新页面的情况下使用加号、减号按钮更新我正在处理的自定义 PHP 购物车中的产品计数?
我想在不重新加载页面的情况下添加或删除数量。
我在购物车中的产品如下所示。
汉堡 $3.99 意大利面碗 $8.99
我想要一个图像按钮来增加或减少如下所示的数量。当您单击加号或减号时,应显示增加和减少的选项。
1 个汉堡 $3.99 2 个意大利面碗 $17.98
谢谢,拉吉
如何在不刷新页面的情况下使用加号、减号按钮更新我正在处理的自定义 PHP 购物车中的产品计数?
我想在不重新加载页面的情况下添加或删除数量。
我在购物车中的产品如下所示。
汉堡 $3.99 意大利面碗 $8.99
我想要一个图像按钮来增加或减少如下所示的数量。当您单击加号或减号时,应显示增加和减少的选项。
1 个汉堡 $3.99 2 个意大利面碗 $17.98
谢谢,拉吉
$('#plus').click(function(){
$.get('yourphpfile?val=value_to_increment', function(data){
//code to update your html.
//data variable will hold whatever you echo from php.
//it's considering only simple use, you can use JSON for more complex operations.
});
});
基本上你所要做的就是在点击图像时创建一个事件(每个按钮一个)然后将值传递给 php 服务器/文件,其中包含要从服务器更新的数据,在回调函数中你只需要更新 dom (您的 html)使用 php 代码提供的数据。
正如 webgal 所建议的,AJAX 是前进的方向。让加号/减号按钮调用一个函数,说明updateQuantity(direction)
方向是向上还是向下(取决于单击的按钮。因此,加号按钮将调用updateQuantity(1)
,减号按钮将调用updateQuantity(-1)
并使用该值来操纵购物车中对象的数量。
简单的 AJAX 代码(您只需根据自己的需要进行定制)如下:
function updateQuantity(direction){
var xmlhttp;
if(window.XMLHttpRequest){
// For new browsers and IE7+
xmlhttp=new XMLHttpRequest();
console.log('created XMLHttpRequest');
}else{
// For old IE versions (volatile)
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
console.log('created ActiveXObject');
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
//if the AJAX call is finished and the HTTP status is 200 (OK)
console.log('response received');
var e = document.getElementById('theElementYouWantToChange');
e.innerHTML = xmlhttp.responseText;
}else if(xmlhttp.readyState==4 && xmlhttp.status!=200){
//second if condition specified, else the console will log an error
//whenever the readystate changes, and this happens 3 times during
//an acceptable AJAX call
console.log("Error retrieving search response. Status: "+xmlhttp.status);
}
}
xmlhttp.open("GET","includes/updateCart.php?product="+productID+"&change="+direction,true);
xmlhttp.send();
}
您需要设置附加到您正在修改数量的产品的变量 productID