【问题标题】:Laravel multiple delete checkboxLaravel 多重删除复选框
【发布时间】:2015-02-06 18:16:23
【问题描述】:

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

目前我有这个:

<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>

然后我得到错误未定义变量,这是错误的屏幕截图: http://i.imgur.com/QW5De7y.png

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

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 来做到这一点。有人能帮助我吗?我想我已经很接近了。

【问题讨论】:

    标签: php laravel laravel-routing


    【解决方案1】:

    我觉得你可以用表格来做

    带有刀片语法的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'));
    

    TaskController.php

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 2012-05-21
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多