Удалить кнопку после выбора кнопки подтверждения запроса - PullRequest
0 голосов
/ 27 ноября 2018

Как удалить этот конкретный ряд кнопки «Отменить» после выбора кнопки «Подтвердить» в jquery?Приведенный ниже код не удаляет кнопку «Отменить» навсегда.

<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'
                }
            }
        })
    });
});

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018
 $('.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'
                    }
                }
            })
        });

в действующей функции $ (эта) не будет работать для кнопки, которую вы нажали.просто напечатайте вывод выше на консоли, вы получите

0 голосов
/ 27 ноября 2018

В $ .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'
                }
            }
        })
    });
});
...