Массовое удаление и одиночное удаление на одной странице с помощью laravel

Я получил форму, в которой я могу уничтожить несколько элементов, установив флажок и удалив один элемент, нажав кнопку удаления в строке таблицы.

Поскольку одиночное удаление окружено формой, содержащей DELETE метод. Я не уверен, как справиться с массовым удалением. Потому что я думаю, мне понадобится и форма для этого.

Но поскольку одно удаление имеет форму, я не могу окружить другой формой.

Также у меня должно быть место для использования формы для фильтров, которые будут отправлять POST метод.

Каково лучшее решение для этого в Laravel? Я не могу использовать действие, потому что мне нужно DELETE способ ..

1

Решение

Формы HTML хорошо подходят для простых взаимодействий, таких как редактирование чего-либо или создание нового ресурса. Однако при взаимодействии со списком элементов и выполнении нескольких возможных действий это усложняется (как вы заметили). Это наш новый лучший друг AJAX. Я буду использовать jQuery, хотя вы также можете использовать простой javascript (это просто намного больше работы)
Мы будем использовать $.ajax способ сделать наши звонки на сервер

$.ajax({
url: 'your/target/url',
type: 'delete',
data: {ids: [1,2,3]}, // just an example. here you would insert the ids of all selected items
}).done(function(data){
// gets called if everything goes well
}).fail(function(jqXHR, textStatus){
// ooops the request returned an HTTP error code, something bad must have happened
});

В вашем контроллере вы сможете получить доступ к переменной с помощью Input::get('ids')

1

Другие решения

Я решил эту ситуацию, создав запрос ajax следующим образом:

$.ajax({
url: $(this).data('url'),
type: 'POST',
data: {_method: 'delete', _token: token},
success: function () {
//
}
})
0

По вопросам рекламы [email protected]