Заставить метод javascript работать во всех случаях (до и после вызовов ajax) - PullRequest
0 голосов
/ 28 августа 2018

Я работаю над laravel 5.5, где я хочу создать страницу с таблицей, показывающей все элементы accessory_type. С основным отношением один ко многим к таблице аксессуаров.

На этой странице у меня есть поле для создания новых записей с базовым постом Ajax, все было внутри $(document).ready(), вот код:

var name = $('#name').val();
$.Ajax({
        url: '/accessory-type',
        type: 'POST',
        data: {name: name},
        success: function (data) {
            $.Ajax({
                url: null,
                type: 'get',
                success: function (data) {
                    var my_rows = $(data).find('table').html();
                    $('.accessory_type-table').html(my_rows);
            }
        });
    }
}); 

Проблема в том, что я хочу удалить строку, щелкнув значок или что-то в этом роде, но если я размещу свой код за пределами $(document).ajaxComplete, код не работает после вызова Ajax. И если я помещу внутрь $(document).ajaxComplete, код не будет работать без вызова Ajax.

Код точно такой же, поэтому я не хочу иметь его дважды.

Если я создаю для нее функцию, проблема остается, где я могу разместить свой метод click(), чтобы он работал во всех случаях?

Вот код, по которому я хочу позвонить:

$(document).ajaxComplete(function () {
    $('.fa-trash').click(function () {
        $.ajaxSetup({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            }
        });
        $.Ajax({
            type: "DELETE",
            url: "/accessory-type/" + $(this).attr('id'),
            success: function (data) {
                $.Ajax({
                    url: null,
                    type: 'get',
                    success: function (data) {
                        var table = $(data).find('table').html();
                        $('.accessory_type-table').html(table);
                    }
                });
            }
        });
    })
})

Я нахожусь на тренировке, поэтому любая помощь / лучшая практика / совет или что-нибудь хорошее, не стесняйтесь! :)
Спасибо за помощь

...