jQuery问题,当我使用$(this)时,fadeOut之类的事件适用于所有标签

问题描述 投票:1回答:1

当我使用$(this)时,我的jquery代码在opencart项目中出现问题,我想对特殊行进行fadeOut,但是它将通过代码将行中的所有行都淡出(($(this).parent()表中的.parent()。parent()。fadeOut(500);“):HTML:

                <tr role="row">
                  <td role="cell" class=""><span><input type="checkbox" name="selected[]" value="{{ branch.branch_id }}"  class="selected" /></span></td>
                  <td role="cell"><span><a href="{{branch.view}}">{{ branch.name }}</a></span></span></td>
                  <td role="cell"><span>{{ branch.description }}</span></td>
                  <td role="cell"><span>{{ branch.country }}</span></td>
                  <td role="cell"><span>{{ branch.zone }}</span></td>
                  <td role="cell"><span>{{ branch.city }}</span></td>
                  <td role="cell" class=""><span>{{ branch.postcode }}</span></td>
                  <td role="cell"><span>{{ branch.created_at }}</span></td>
                  <td role="cell" class=""><span><a href="{{ branch.edit }}" data-toggle="tooltip" title="{{ button_edit }}" class="btn btn-primary"><i class="fa fa-pencil"></i></a></span></td>

                </tr>   

按钮:

           <div class="custom-button">
              <a href="http://localhost/task/myshop/index.php?route=seller/account" class="">رجوع<i class="fa fa-angle-double-left" aria-hidden="true"></i> </a>
              <a href="http://localhost/task/myshop/index.php?route=seller/branch/add" class="">اضافة<i class="fa fa-plus" aria-hidden="true"></i> </a>
              <a href="http://localhost/task/myshop/index.php?route=seller/branch/delete" class="delete-button">حذف<i class="fa fa-times" aria-hidden="true"></i> </a>
          </div>

Jquery代码:

      $('body').on('click','.delete-button',function(e){
        var thisButton = $(this);
        e.preventDefault();
        var selected = $('input.selected');
        var inputSelected = Array();
        $.each(selected,function(index, value){
            if($(this).prop('checked')){
                inputSelected.push($(this).val());
            }
        });
        // ajax
        $.ajax({
            url: thisButton.attr('href'),
            method: 'post',
            data: {'selected' : inputSelected},
            success: function(json){
                if(json.success){
                    toastr.success(json.successfull.message,json.successfull.header);
                    $.each(selected, function(value){
                        $(this).parent().parent().parent().fadeOut(500);
                    });

                }else{
                    toastr.warning(json.error.message,json.error.header);
                }
            },
            error: function(xhr, status, message){
                toastr.error("{{ error_message }}","{{ error_header }}");
            },
        });

    });
html jquery opencart
1个回答
0
投票

我找到了解决此问题的方法,我忘记了是否选中此复选框,因为它会删除我表的所有行。

内部jquery ajax代码,内部成功函数:

                    $.each(selected, function(value){
                      if($(this).prop('checked'))
                        $(this).parent().parent().parent().fadeOut(500);
                    });
© www.soinside.com 2019 - 2024. All rights reserved.