[Resuelto] eliminación de registro en Laravel con jQuery confirm

Publicado hace 3 semanas por luis

Que código debo poner donde dice "aqui va codigo eliminacion", para que me elimine un registro de una tabla en el controlador destroy?

{{ Form::open(['route' => ['users.destroy', $data->id], 'method' => 'DELETE', 'id' => 'confirm_delete_user']) }}
<button class="eliminar btn btn-danger btn-xs" title="eliminar"></button>
{{ Form::close() }}
									
<script type="text/javascript">
      $('.eliminar').on('click', function(e){
         e.preventDefault();
         $.confirm({
            title: 'Alerta!',
            content: 'Desea eliminar el registo ?',
            theme: 'light',
            type: 'blue',
            closeIcon: true,
            buttons: {
               Eliminar: function () {
                  $.alert('eliminado!');
                   // aqui va codigo para la eliminacion
               },
               Cancelar: function () {
                  // $.alert('Cancelado!');
               }
            }
         });
      });
   </script>
	 ```
Mejor respuesta Marcada por España luis

kmario19 hace 2 semanas

Este es el método que yo uso, de lado de la vista puedes dejarlo así:

{{ Form::open(['route' => ['users.destroy', $data->id], 'method' => 'DELETE', 'id' => 'confirm_delete_user']) }}
<button class="eliminar btn btn-danger btn-xs" title="eliminar"></button>
{{ Form::close() }}
									
<script type="text/javascript">
      $('.eliminar').on('click', function(e){
			var btn = $(this), form = btn.parent('form'), url = form.attr('action'), id = url.split('/').pop();
         e.preventDefault();
         $.confirm({
            title: 'Alerta!',
            content: 'Desea eliminar el registo ?',
            theme: 'light',
            type: 'blue',
            closeIcon: true,
            buttons: {
               Eliminar: function () {
                   // aqui va codigo para la eliminacion
                   $.ajax({
                   	url: form.attr('action'),
                   	data: {_method: 'DELETE', _token: $('meta[name="csrf-token"]').attr('content')},
			type: 'POST'
                   })
                   .done(function (r) {
			// Acá tu lógica para ocultar el elemento eliminado, ejemplo:
			$('#user_' + id).slideUp('fast', function () {
				$(this).remove();
			});
			$.alert('eliminado!'); 
                  })
                   .fail(function (xhr) {
			console.log(xhr);
			$.alert('Ocurrió un error!');
                   });
               },
               Cancelar: function () {
                  // $.alert('Cancelado!');
               }
            }
         });
      });
   </script>

Espero te sirva