ajax 函数调用两次

ajax function calls twice

我创建了一个函数,通过该函数可以使用 click.the 上的加号和减号按钮来增加和减少产品的数量,功能非常好,但它调用了我按下的函数 twice.if加号按钮将数字增加 2..我不明白错误可能在哪里,因为我只想调用一个函数,increase/reduce 它由 one.here 是我的 plus/minus blade 文件中的代码

 <div class="def-number-input number-input safari_only mb-0 w-100">
                                <button  onclick="this.parentNode.querySelector('input[type=number]').stepDown()" class="itemupdate qtyminus" type="button" data-cartid="{{ $item['id'] }}">
                                    <i class="fa fa-minus" aria-hidden="true"></i></button>
                                    <input data-id={{ $item->id }} class="quantity" min="1" name="quantity[]" value="{{ $item['quantity'] }}" type="number">
                                <button onclick="this.parentNode.querySelector('input[type=number]').stepUp()" class="itemupdate qtyplus" type="button" data-cartid="{{ $item['id'] }}"><i class="fa fa-plus" aria-hidden="true"></i></button>
                            </div> 

这是我在脚本文件中的 ajax 函数

$(文档).on('click','.itemupdate',function(){

if($(this).hasClass('qtyminus')){
    var quantity=$(this).next().val();
    // console.log("the quantity is ",quantity);
    new_qty=parseInt(quantity)-1;
    if(quantity<=1){
        alert("item must be greater or equal to 1");
        return false;
    }else{
        new_qty=parseInt(quantity)-1;
    }
}

if($(this).hasClass('qtyplus')){
    // console.log($(this).prev());
    var quantity=$(this).prev().val();
    new_qty=parseInt(quantity)+1;
}

var cartid=$(this).data('cartid');
$.ajax({
    data:{"cartid":cartid,"quantity":new_qty},
    url:'/updatecartitemquantity',
    type:'post',
    success:function(resp){
        $("#appendcartitems").html(resp.view);
    },error:function(){
        alert("error");
    }
})

})

这里是控制器中的函数

  public function updatecartitem(Request $request){
    $shippingcharges=shipping_charge::where('is_shipping',1)->get();
    if($request->ajax()){
        $data=$request->all();
                // increment/decrement cart quantity items
        Cart::where('id',$data['cartid'])->update(['quantity'=>$data['quantity']]);
        $cartitems=Cart::usercartitems();
        return response()->json
            (['view'=>(string)view::make('frontend.product.cartitems')->with(compact('cartitems','shippingcharges'))
    ]);
    }
}

在后端做加法和减法只发送递增或递减的类型因为

Cart::where('id',$data['cartid'])->update(['quantity'=>$data['quantity']]);

这里是在添加到前一个的同时更新数量。

   <div class="def-number-input number-input safari_only mb-0 w-100">
     <button class="itemupdate qtyminus" type="button" data-cartid="{{ $item['id'] }}">
        <i class="fa fa-minus" aria-hidden="true"></i></button>
        <input data-id={{ $item->id }} class="quantity" min="1" name="quantity[]" value="{{ $item['quantity'] }}" type="number">
         <button class="itemupdate qtyplus" type="button" data-cartid="{{ $item['id'] }}"><i class="fa fa-plus" aria-hidden="true"></i></button>
                        </div>

我只需要删除这个 onclick 函数