首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在甜警报中访问$(this),在AJAX成功内访问

如何在甜警报中访问$(this),在AJAX成功内访问
EN

Stack Overflow用户
提问于 2016-08-11 22:35:03
回答 1查看 1.5K关注 0票数 1

我要删除单击元素的父元素。我首先使用一个甜蜜的警报来获取警报,然后调用一个AJAX函数,然后我想获得成功函数中的元素:

这是我的职责:

代码语言:javascript
运行
复制
 function removeImage(id) {  
        var element = $(this).closest('.dropzone');

    swal({   
      title:"Delete",   
      text: "delete",  
      type: "warning",   
      showCancelButton: true,   
      confirmButtonColor: "#DD6B55",   
      confirmButtonText: "Yes !",   
      cancelButtonText: "No, cancel",   
      closeOnConfirm: false,   closeOnCancel: false 
    }, function(isConfirm){
      if (isConfirm) {
        $.ajax({
          type: "POST", 
          data: {id: id},
          url:'ajax/deleteimage.php',
          success : function(data){ 
            if(data == 'ok'){
                    swal({   
                title:"Delete",   
                text: "delete",  
                type: "success",    
                confirmButtonColor: "#AEDEF4",
                confirmButtonText: "Ok",   
                closeOnConfirm: true,   
              }, function(isConfirm){
                    $.when($('.dropzone').find("#"+id).parent().fadeOut())
                                       .done(function() {
                          $('.dropzone').find("#"+id).parent().remove();
                      });
                      var n_div = $('.dz-image-preview').length-1;
                          if (n_div === 0) {
                             $('.dz-message').css("opacity",'1');
                          }
              });
            }else{
              swal("Error, try again", "", "error");  
            }  
               }
        }); // end ajax call 

      } else {     
        swal("Cancel", "", "error");   
      } 
    }); 


  }

我不能用变量元素更改success函数中的$('.dropzone')

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-12 18:32:24

我在jQuery中也面临着同样的问题。主要问题是ajax无法直接访问swal中的这个上下文。因此,我们需要将这个上下文传递给ajax。为此,我们首先将该上下文存储在变量中,然后在ajax中分配该上下文。

代码语言:javascript
运行
复制
$(".delete_category").click(function () {
    var call_url = $(this).val();
    var this_context = $(this);
    swal({
        title: "Are you sure?",
        text: "Your may not be able to recover!",
        type: "warning",
        showCancelButton: true,
        confirmButtonClass: "btn-danger",
        confirmButtonText: "Yes, delete it!",
        closeOnConfirm: false
    },
        function () {
            $.ajax({
                context: this_context,
                method: "POST",
                url: call_url,
                success: function (response) {
                    if (response == "success") {
                        swal("Deleted!", "Record deleted successfully.", "success");
                        $(this).closest('.delete_row').hide();
                    } else {
                        swal("Error!", response, "error");
                    }
                }
            });

        }
    );
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38907136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档