Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么可以';我在模板中的django循环中获取按钮jQuery的正确id_Javascript_Python_Jquery_Django_Post - Fatal编程技术网

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(),
},
成功:功能(数据){
警报(“数据[‘计数’”);
控制台日志(数据);
}
});
});

});