Laravel,在同一视图中用于删除和按钮编辑的多个复选框

Laravel, multiple checkbox for delete and button edit in the same view

我必须在同一视图中插入一个编辑按钮和多个复选框以删除数据库中的记录。编辑按钮仅适用于第一条记录,复选框删除仅适用于最后一条,即使我选中多个选项也是如此。如果单独有编辑按钮或删除复选框,则这些功能有效。

@isset($lista)
<table>
    <th>Lista degli utenti Staff: </th>
    <tr>
        <td> Nome </td>
        <td> Cognome </td>
        <td> Username </td>
        <td> Modifica </td>
        <td> Elimina </td>
        @foreach ($lista as $staff)
        <tr>
        <td>{{$staff->nome}} </td>
        <td> {{$staff->cognome}} </td>
        <td> {{$staff->username}} </td>
        <td>
            {{ Form::open(array( 'route'=> ['modificastaff', $staff->id],'method'=>'post')) }}
            {{ Form::submit('Modifica') }}
            {{ Form::close() }}
        </td>
        <td>
            {{ Form::open(array( 'route'=> ['eliminastaff'],'method'=>'post')) }}
            {{ Form::checkbox('checked[]', $staff->id) }}
        </td>
    </tr>
    @endforeach
{{ Form::submit('Elimina') }}  
{{ Form::close() }}
</table>  
@endisset

您在 table 中的第一个表格很好。你打开它,请求 submit 然后在它的循环 / <tr>.

中关闭它

您遇到的问题是因为您为复选框打开了多个表单,并且它们没有在循环内关闭/table。这意味着您打开的多个表单彼此重叠,并且在编辑表单之上,这导致了错误。

要修复,请更改此

<td>
        {{ Form::open(array( 'route'=> ['eliminastaff'],'method'=>'post')) }}
        {{ Form::checkbox('checked[]', $staff->id) }}
    </td>
</tr>
@endforeach
{{ Form::submit('Elimina') }}  
{{ Form::close() }}

到这个:

    <td>
        {{ Form::open(array( 'route'=> ['eliminastaff'],'method'=>'post')) }}
        {{ Form::checkbox('checked[]', $staff->id) }}
        {{ Form::submit('Elimina') }}  
        {{ Form::close() }}
    </td>
</tr>
@endforeach

如果您想接受多项检查,则必须重新设计一下。但这将解决您遇到的第一次编辑/最后删除错误的问题。