您好,我只想删除选中的任务。因此,为了实现这一点,我为复选框的名称属性使用了一个数组变量。
目前我有这个:
<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/