0

如何在选择 jquery 'Confirm' 按钮后删除特定行的 'Revoke' 按钮?下面的代码不会永久删除“撤销”按钮。

<td>
    <div class="btn btn-primary revoke-btn">Revoke</div>
</td>

$(document).ready(function() {
    $('.revoke-btn').click(function(e){
        e.preventDefault();
        $.confirm({
            title:'Confirm?',
            content:'Confirm to revoke?',
            buttons:{
                confirm: {
                    text: 'Confirm',
                    btnClass: 'btn-danger',
                    action: function () {
                        $(this).remove();
                        var link = $(e.currentTarget).parent().attr('href');
                        window.location.href=link;
                    }
                },
                cancel: {
                    text: 'Cancel',
                    btnClass: 'btn-default'
                }
            }
        })
    });
});
4

2 回答 2

3

在$.confirm 中,你不能获取点击元素,所以你需要获取变量中的元素然后你可以使用这个变量到$.confirm 动作函数中。

$(document).ready(function() {
    var isBtn = localStorage.getItem("button");

    if(isBtn == "Removed")
    {
          $('.revoke-btn').remove()
    }

    $('.revoke-btn').click(function(e){
        e.preventDefault();
        var elem = jQuery(this);
        $.confirm({
            title:'Confirm?',
            content:'Confirm to revoke?',
            buttons:{
                confirm: {
                    text: 'Confirm',
                    btnClass: 'btn-danger',
                    action: function () {
                        localStorage.setItem("button", "Removed");
                        elem.remove();
                        var link = $(e.currentTarget).parent().attr('href');
                        window.location.href=link;
                    }
                },
                cancel: {
                    text: 'Cancel',
                    btnClass: 'btn-default'
                }
            }
        })
    });
});
于 2018-11-27T03:55:37.493 回答
1
 $('.revoke-btn').click(function (e) {
            e.preventDefault();
            var btn = $(this);
            $.confirm({
                title: 'Confirm?',
                content: 'Confirm to revoke?',
                buttons: {
                    confirm: {
                        text: 'Confirm',
                        btnClass: 'btn-danger',
                        action: function () {
                            console.log(btn);
                            console.log(this);
                            btn.remove();
                            var link = $(e.currentTarget).parent().attr('href');
                            window.location.href = link;
                        }
                    },
                    cancel: {
                        text: 'Cancel',
                        btnClass: 'btn-default'
                    }
                }
            })
        });

在行动功能 $(this) 将不适用于您单击的按钮。只需在控制台上打印以上输出即可

于 2018-11-27T04:01:58.220 回答