php - Laravel 多个删除复选框

标签 php laravel laravel-routing

您好,我只想删除选中的任务。因此,为了实现这一点,我为复选框的名称属性使用了一个数组变量。

目前我有这个:

<div class="dropdown">
    <button type="button" class="btn btn-danger dropdown-toggle selDelete" data-toggle="dropdown" id="deleteTask">
        <input id="check1" name="deleteCheckedTask[]" type="checkbox" class="check" value="{{$Task->id}}">
        <span class="caret-hover caret"></span>
    </button>
    <ul class="dropdown-menu" aria-labelledby="selDelete" role="menu">
        <li><a class="deleteTask" href= "{{ route('user.tasks.destroy',array( $Task->id )) }}" data-method="delete" >Deletey</a></li>
    </ul>   
</div>

在浏览器中看起来像这样: 链接:http://i.imgur.com/Sv8l3OX.png

但这只会发送将要删除的 1 个任务的 ID。

我也试过这个:

<div class="dropdown">
    <button type="button" class="btn btn-danger dropdown-toggle selDelete" data-toggle="dropdown" id="deleteTask">
        <input id="check1" name="deleteCheckedTask[]" type="checkbox" class="check" value="{{$Task->id}}">
        <span class="caret-hover caret"></span>
    </button>
    <ul class="dropdown-menu" aria-labelledby="selDelete" role="menu">
        <li><a class="deleteTask" href= "{{ route('user.tasks.destroy',array( $deleteCheckedTask)) }}" data-method="delete" >Deletey</a></li>
    </ul>   
</div>

但是我得到了错误undefined variable,这里是错误的截图: http://i.imgur.com/QW5De7y.png

这就是我从 TasksController.php 中删除()的当前样子:

public function destroy($id){
    //$deleteCheckedTasks=array();
    $deleteCheckedTasks=Input::get('deleteCheckedTask');
    //die(print_r(Input::get('deleteCheckedTask')));
    foreach ($deleteCheckedTasks as $key => $value ) {
        print 'val: '. $key ;
    }


    //$row= DB::table('ordertasks')->where('id', $id)->first();
    //Task::destroy($id);
    //Task::destroy($row->id_task);
    //Ordertask::destroy($id);
    //delete werkt niet op vu nam zijn pc
    if (Request::path()=='api/v1/tasks/'.$id) {
        return Response::json(array(
        'error' => false,
        'tasks' => 'task deleted'),
        200
    );

    }

    return Redirect::route('user.tasks.index');
}

我知道如何用 jQuery 来做这件事,但我很乐意用 Laravel 来做这件事。有谁可以帮助我吗?我认为我非常接近。

最佳答案

我想你可以用一种形式来做

带有 blade 语法的 html

<form method="POST" action="/destroy">
    {{ Form::token() }}
    @foreach($tasks as $t)
        <label>
            <input type="checkbox" name="checked[]" value="{{ $t->id }}">
            {{ $t->name }}
        </label>
    @endforeach
    <button type="submit">Submit!</button>
</form>

路线

Route::post('/destroy', array('before' => 'csrf', 'uses' => 'TaskController@handleDestroy'));

任务 Controller .php

<?php

    class TaskController extends BaseController {
        public function handleDestroy() {
            $checked = Input::only('checked')['checked'];
            // Do whatever you want with this array
        }
    }

关于php - Laravel 多个删除复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369054/

相关文章:

php - "How to have the user add two random integers on a single page using $_POST"

javascript - 如何使用 codeigniter 调用 ajax 中的函数来更新

php - MySQL 查询 : Refer to last inserted row from another table (just with one php-SQL String)

javascript - Dropzone 无法通过 ajax 进行模态显示

javascript - 如何使用ajax提交表单请求而不刷新页面并在laravel中返回消息?

php - 无法解决未定义的偏移错误

php - 如何获取三级分类(Category,SubCategory,SubCategoryThree)的数据并显示所选分类下的相关数据

laravel - 使用宅基地从 PHPStorm 调试 laravel artisan

php - Laravel 在点击路线时创建数据库输入?

Laravel - CNAME + 子域路由