我有 header.php 文件,我在其中编码 livesearch 。在该搜索中,我直接包含了“添加到购物车”按钮,以便用户可以通过搜索直接添加产品。 我在我的标题文件中有购物车div,我在其中显示购物车中的商品数量。
这是我的代码:
的header.php
<script type="text/javascript">
$(document).ready(function()
{
$(".searchproductbrand").keyup(function()
{
var kw = $(".searchproductbrand").val();
if(kw != '')
{
$.ajax
({
type: "POST",
url: "livesearch.php",
data: "kw="+ kw,
success: function(option)
{
$("#livesearch").show();
$("#livesearch").html(option);
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
}
});
}
else
{
$("#livesearch").html("");
document.getElementById("livesearch").style.border="0px";
}
return false;
});
$(document).delegate('.buynow','click', function(){
var productid = $(this).attr('id');
var quantity = $('#quantity_'+productid).val();
var type= $('#type_'+productid).val();
$.ajax({
type: "POST",
url: "db_addtocart.php",
context: this,
data: {quantity:quantity,
type:type,
productid:productid},
success: function(option){
this.value = 'Added';
$('#carttotal').empty();
$('#carttotal').replaceWith(option);
}
});
return false;
});
});
</script>
<div id='carttotal'><input type='button' class='button' id='cartdetails'
value='<?php echo "Cart (".$proInCart.")"?>' style='padding:7px;
border-radius:15px;'></div>
例如,如果我搜索“他”,它会显示14个结果。首先,如果我点击“添加到购物车”按钮,它会将此按钮的值更改为“已添加”和“添加”。更新购物车div。但是从具有相同搜索结果的第二个请求开始,它不会更新购物车,但会将按钮的值更新为“已添加”。
为什么?有人可以帮忙吗?
答案 0 :(得分:1)
在第一个请求之后代码无效的原因是您在函数结束时返回false。 您应该将功能更改为:
<script type="text/javascript">
$(document).ready(function()
{
$(".searchproductbrand").keyup(function(e)
{
var kw = $(".searchproductbrand").val();
if(kw != '')
{
$.ajax
({
type: "POST",
url: "livesearch.php",
data: "kw="+ kw,
success: function(option)
{
$("#livesearch").show();
$("#livesearch").html(option);
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
}
});
}
else
{
$("#livesearch").html("");
document.getElementById("livesearch").style.border="0px";
}
e.preventDefault();
});
$(document).delegate('.buynow','click', function(e){
var productid = $(this).attr('id');
var quantity = $('#quantity_'+productid).val();
var type= $('#type_'+productid).val();
$.ajax({
type: "POST",
url: "db_addtocart.php",
context: this,
data: {quantity:quantity,
type:type,
productid:productid},
success: function(option){
this.value = 'Added';
$('#carttotal').empty();
$('#carttotal').replaceWith(option);
}
});
e.preventDefault();
});
});
</script>