删除所选复选框ids laravel 5.3的数据

时间:2016-11-10 07:45:51

标签: jquery ajax laravel

我正在识别我目前正在提醒我想在我的userController中将这些ID发布到 destroyAll 方法 这是我通过警报

获取身份的方法
function deleteAll () {
    var checkedValues = $('input:checkbox:checked').map(function() {
        return this.value;
    }).get();
    alert(checkedValues);
}

我想通过ajax发布这些值并在那里删除 路线

Route::post('/user-management/user/destroyAll', 'UserController@destroyAll');
在destroyall方法中我也想爆炸和减去头部复选框值

2 个答案:

答案 0 :(得分:2)

您需要使用ajax:

    $.ajax({
        type    : "POST",
        url     : "{{ url('/user-management/user/destroyAll') }}",
        data    : {ids: checkedValues, _token: "{{ csrf_token() }}"},
        success : function (response) {
            console.log('Success', response);
        },
        error   : function (response) {
            console.log('Error', response);
        },
        dataType: "JSON"
    });

然后在控制器中捕获id:

public function destroyAll(Request $request)
{
    // get ids
    $ids = $request->input('ids');

    // remove first
    array_shift($ids);

    // delete users with id
    return User::whereIn('id', $ids)->delete();
}

答案 1 :(得分:0)

将您的值加入字符串将它们添加到隐藏的输入中,并在控制器中执行whereIn函数以获取所有用户并删除它们:

HTML:

<input type="hidden">

JS:

$('input[type="hidden"]').val(checkedValues.join(','));

PHP:

public function destroyAll(Request $request)
        {
            $checkedValues = explode(','$request->input("checkedValues"));
            $user = User::whereIn('id',$checkedValues);
            $user->delete();
            //redirect back to the page after delete 
        }

优化您的选择器以不选择第一个:

checkedValues = $('input:checkbox:checked:not(:first)')