改变数量

  • 定义视图set
def set(request):
    dict=request.GET
    cid=dict.get('cid')
    count=dict.get('count')

    isok=0

    try:
        cart = CartInfo.objects.get(pk=cid)
        cart.count=int(count)
        cart.save()
        isok=1
        count=cart.count
    except CartInfo.DoesNotExist as e1:
        isok=0
        count=0
    except:
        isok=0
        count=cart.count
    return JsonResponse({'isok':isok,'count':count})
  • 模板中代码如下
        $('.num_show').blur(function () {
            var num=parseInt($(this).val());
            var kucun=parseInt($(this).parents('.col06').siblings('.col03').children('em').text());
            if(isNaN(num)){
                num=1;
            }else if(num<=1){
                num=1;
            }else if(num>=kucun){
                num=kucun;
            }

            var cid=$(this).parents('.cart_list_td').attr('id');

            var num_show=$(this);
            $(this).val(num);

            $.get('/cart/set/',{'cid':cid,'count':num},function (data) {
                num_show.val(data.count);
                if(data.isok){//XMLHttpRequest
                    total_all();
                }
            });
        });

        $('.add').click(function () {
            var num=parseInt($(this).next().val());
            num++;
            $(this).next().val(num).blur();
        });

        $('.minus').click(function () {
            var num=parseInt($(this).prev().val());
            num--;
            $(this).prev().val(num).blur();
        });