已添加到购物篮按钮,加号/减号可更改购物篮中的产品数量。但是我不明白如何正确连接Ajax以进行更新。
我在Ajax数据中尝试了不同的值。
<button type="button" class="minus">-</button>
<input type="text" name="quantity[{{ product.cart_id }}]" value="{{ product.quantity }}" size="1" class="form-control cart-q" id="score"/>
<script>
$('.minus').click(function () {
var $input = $(this).parent().find('#score');
var count = parseInt($input.val()) - 1;
count = count < 1 ? 1 : count;
$input.val(count);
$input.change();
return false;
setTimeout(function () {
$.ajax({
type: 'post',
url: 'index.php?route=checkout/cart/edit',
data: 'key=' + $input.name() + '&quantity=' + $input.val(),
dataType: 'json',
success: function () {
$('#cart > ul').load('index.php?route=common/cart/info ul li');
}
});
}, 100);
</script>
输入值已更改,但购物车值未更新,并且控制台中没有错误。 请帮忙。
答案 0 :(得分:0)
购物车未更新,因为您在ajax调用之前有一个return语句。
删除了return语句,也无需超时。
$('.minus').click(function () {
var $input = $(this).parent().find('#score');
var count = parseInt($input.val()) - 1;
count = count < 1 ? 1 : count;
$input.val(count);
$input.change();
$.ajax({
type: 'post',
url: 'index.php?route=checkout/cart/edit',
data: 'key=' + $input.name() + '&quantity=' + $input.val(),
dataType: 'json',
success: function () {
$('#cart > ul').load('index.php?route=common/cart/info ul li');
}
});
});
答案 1 :(得分:0)
以JSON格式发送数据。另外,请在调用AJAX之前删除return
<script>
$('.minus').click(function(e) {
e.preventDefault();
var $input = $(this).parent().find('#score');
var count = parseInt($input.val()) - 1;
count = count < 1 ? 1 : count;
$input.val(count);
$input.change();
setTimeout(function() {
$.ajax({
type: 'post',
url: 'index.php?route=checkout/cart/edit',
data: {
key: $input.name(),
quantity: $input.val()
},
dataType: 'json',
success: function() {
$('#cart > ul').load('index.php?route=common/cart/info ul li');
}
});
}, 100);
</script>