Jquery单击不';使用AJAX更新后无法工作

Jquery单击不';使用AJAX更新后无法工作,jquery,ajax,laravel,Jquery,Ajax,Laravel,我读了一些关于我的问题的文章,仍然没有得到正确的答案。我尝试了.on()方法,但仍然不起作用。我正在使用Laravel @foreach($orders as $order) <tr class="item{{$order['menus']['id']}}"> <td>{{$order['menus']['name'] }}</td> <td>{{$order['quantity']}}</td>

我读了一些关于我的问题的文章,仍然没有得到正确的答案。我尝试了.on()方法,但仍然不起作用。我正在使用Laravel

@foreach($orders as $order)
   <tr class="item{{$order['menus']['id']}}">
       <td>{{$order['menus']['name'] }}</td>
       <td>{{$order['quantity']}}</td>
       <td>{{$order['quantity'] * $order['menus']['price']}}</td>
       <td><span id="paddingcustom"><span class="glyphicon glyphicon-minus cancelbox " data-menuid="{{$order['menus']['id']}}"></span></span> </td>
       <td></td>
   </tr>
@endforeach
加载页面后,我想要的一切都能正常工作,但当我使用replaceWith()方法更新元素时,onclick就不起作用了

我检查了更新的html和属性,所有内容都在正确的位置。

您需要使用:-

所以改变:-

$('.cancelbox').each(function(){
  $(this).on('click',function(){
致:-

因此,代码需要:-

$(document).on('click','.cancelbox',function(){
    $.ajax({
        type : 'POST',
        url  : 'menus/deleteTmp',
        data : {
            '_token' : $('input[name=_token]').val(),
            'id' : $(this).data('menuid'),
        },
        success : function ($data) {
            $('.item' + $data).remove();
        }
    });
});

注意:-现在应用您的
replaceWith()
代码并选中@YanMyoAung(很高兴帮助您):)。
$(document).on('click','.cancelbox',function(){
$(document).on('click','.cancelbox',function(){
    $.ajax({
        type : 'POST',
        url  : 'menus/deleteTmp',
        data : {
            '_token' : $('input[name=_token]').val(),
            'id' : $(this).data('menuid'),
        },
        success : function ($data) {
            $('.item' + $data).remove();
        }
    });
});