Javascript 为什么可以';我在模板中的django循环中获取按钮jQuery的正确id
问题在于:在模板中的循环中,我显示购物车中每个产品数量的+和-按钮,同时接收数据并将其发送到服务器,在那里我实际处理数据,并增加购物车中的产品数量 模板Javascript 为什么可以';我在模板中的django循环中获取按钮jQuery的正确id,javascript,python,jquery,django,post,Javascript,Python,Jquery,Django,Post,问题在于:在模板中的循环中,我显示购物车中每个产品数量的+和-按钮,同时接收数据并将其发送到服务器,在那里我实际处理数据,并增加购物车中的产品数量 模板 <td class="info col-md-3"> <div class="input-group"> <span class="input-group-btn
<td class="info col-md-3">
<div class="input-group">
<span class="input-group-btn">
<button id="minus" class="btn btn-danger minus" data-id="{{obj.id}}" type="button">-</button>
</span>
<input id="calc-button" type="text" class="form-control calc-button" data-id="{{obj.id}}" value="{{obj.quantity}}">
<span class="input-group-btn">
<button id="plus" class="btn btn-success plus" data-id="{{obj.id}}" type="button">+</button>
</span>
</div>
</td>
如果你需要我的车
def add(self, item, quantity=1, update_quantity=False):
product_id = item.id
if product_id not in self.cart:
self.cart[product_id] = {'quantity': item.counts,
'price': str(item.price),
'name': str(item.name),
'id': item.id
}
if update_quantity:
self.cart[product_id]['quantity'] = quantity
print(self.cart[product_id]['quantity'])
self.session['cart'] = self.cart
self.session.modified = True
$(函数(){
$('.减号')。单击(函数(){
$(“.calc按钮”).val(parseInt($(.calc按钮”).val())-1),
警报($(“.calc按钮”).val();
const csrftoken=jQuery(“[name=csrfmiddlewaretoken]”)。val();
$.ajaxSetup({
发送前:功能(xhr、设置){
setRequestHeader(“X-CSRFToken”,CSRFToken);
}
});
$.ajax({
url:“/cart/plusValue/”,
键入:“post”,
数据类型:“json”,
数据:{
“id”:$(“.减”).data(“id”),
“计数”:$(“.calc按钮”).val(),
},
成功:功能(数据){
警报(“数据[‘计数’”);
控制台日志(数据);
}
});
});
$('.plus')。单击(函数(){
$(“.calc button”).val(parseInt($(.calc button”).val())+1),
警报($(“.calc按钮”).val();
const csrftoken=jQuery(“[name=csrfmiddlewaretoken]”)。val();
$.ajaxSetup({
发送前:功能(xhr、设置){
setRequestHeader(“X-CSRFToken”,CSRFToken);
}
});
$.ajax({
url:“/cart/plusValue/”,
键入:“post”,
数据类型:“json”,
数据:{
“id”:$(“.plus”).data(“id”),
“计数”:$(“.calc按钮”).val(),
},
成功:功能(数据){
警报(“数据[‘计数’”);
控制台日志(数据);
}
});
});
});代码>您确定正确循环购物车项目吗?在我看来,所有按钮都具有相同的数据id
,因此所有按钮都使用AJAX调用进行更新。
因此,在模板中,您可能应该运行一个循环:
{% for key, value in self.cart.items %}
...here hoes listing the products
{% endfor %}
您确定在购物车项目中正确循环吗?在我看来,所有按钮都具有相同的数据id
,因此所有按钮都使用AJAX调用进行更新。
因此,在模板中,您可能应该运行一个循环:
{% for key, value in self.cart.items %}
...here hoes listing the products
{% endfor %}
$(函数(){
$('.减号')。单击(函数(){
$(“.calc按钮”).val(parseInt($(this.val())-1);
警报($(“.calc按钮”).val();
const csrftoken=jQuery(“[name=csrfmiddlewaretoken]”)。val();
$.ajaxSetup({
发送前:功能(xhr、设置){
setRequestHeader(“X-CSRFToken”,CSRFToken);
}
});
$.ajax({
url:“/cart/plusValue/”,
键入:“post”,
数据类型:“json”,
数据:{
'id':$(this).data(“id”),
“计数”:$(“.calc按钮”).val(),
},
成功:功能(数据){
警报(“数据[‘计数’”);
控制台日志(数据);
}
});
});
$('.plus')。单击(函数(){
$(“.calc按钮”).val(parseInt($(this.val())+1);
警报($(“.calc按钮”).val();
const csrftoken=jQuery(“[name=csrfmiddlewaretoken]”)。val();
$.ajaxSetup({
发送前:功能(xhr、设置){
setRequestHeader(“X-CSRFToken”,CSRFToken);
}
});
$.ajax({
url:“/cart/plusValue/”,
键入:“post”,
数据类型:“json”,
数据:{
'id':$(this).data(“id”),
“计数”:$(“.calc按钮”).val(),
},
成功:功能(数据){
警报(“数据[‘计数’”);
控制台日志(数据);
}
});
});
});代码>
$(函数(){
$('.减号')。单击(函数(){
$(“.calc按钮”).val(parseInt($(this.val())-1);
警报($(“.calc按钮”).val();
const csrftoken=jQuery(“[name=csrfmiddlewaretoken]”)。val();
$.ajaxSetup({
发送前:功能(xhr、设置){
setRequestHeader(“X-CSRFToken”,CSRFToken);
}
});
$.ajax({
url:“/cart/plusValue/”,
键入:“post”,
数据类型:“json”,
数据:{
'id':$(this).data(“id”),
“计数”:$(“.calc按钮”).val(),
},
成功:功能(数据){
警报(“数据[‘计数’”);
控制台日志(数据);
}
});
});
$('.plus')。单击(函数(){
$(“.calc按钮”).val(parseInt($(this.val())+1);
警报($(“.calc按钮”).val();
const csrftoken=jQuery(“[name=csrfmiddlewaretoken]”)。val();
$.ajaxSetup({
发送前:功能(xhr、设置){
setRequestHeader(“X-CSRFToken”,CSRFToken);
}
});
$.ajax({
url:“/cart/plusValue/”,
键入:“post”,
数据类型:“json”,
数据:{
'id':$(this).data(“id”),
“计数”:$(“.calc按钮”).val(),
},
成功:功能(数据){
警报(“数据[‘计数’”);
控制台日志(数据);
}
});
});
});在这种情况下,如果我这样做,我会得到一个错误。我有很多价值观在我的购物车中,我如何具体显示数量,或者每个按钮有4个。看起来你是对的,但我不知道如何在浏览器中修复它,我从截图上看到js告诉我你有很多相同的id。但是预览显示按钮的id不同,这与你说的一致,同时也让我困惑,因为在这种情况下,数字是不同的,如果我这样做,我会得到一个错误。我有很多价值观在我的购物车中,我如何具体显示数量,或者每个按钮有4个。看起来你是对的,但我不知道如何在浏览器中修复它,我从截图上看到js告诉我你有很多相同的id。但是预览显示按钮的id不同,这与你说的一致,同时也让我困惑,因为数字不同