Layui使用confirm后$(this).parent().parent().remove()无效的解决办法

127次阅读

共计 1129 个字符,预计需要花费 3 分钟才能阅读完成。

在内部的代码中,删除是不生效的,代码如下:

1
2
3
4
5
6
7
8
layer.confirm(‘ 是否确认删除?’, function(){
          $(this).parent().parent().remove();
          layer.close(index);
          layer.msg(‘ 正在删除 ’, {icon: 16}, function(){
            layer.msg(‘ 成功删除 ’, {icon: 1})
            
          });
        });

而如果不用 layer.confirm,直接用系统对话框,是能正常执行。

所以,要解决这个问题,就必须先声明 $(this).parent().parent()

也就是在 layer.confirm 的上面,先 var 一个变量等于 $(this).parent().parent()

参考如下代码:

1
2
3
4
5
6
7
8
9
10
11
// 删除行
      layui.$(‘.delete_files’).on(‘click’, function (obj) {
        var del = $(this).parent().parent();
        layer.confirm(‘ 是否确认删除?’, function(){
          layer.close(index);
          layer.msg(‘ 正在删除 ’, {icon: 16}, function(){
            layer.msg(‘ 成功删除 ’, {icon: 1})
            del.remove();
          });
        });
      });

即可完成当前行的删除。

正文完
 0