在foreach语句中使用单选按钮时出错

时间:2017-08-15 17:48:41

标签: php mysql sql laravel

我循环遍历数据库行,对于每个结果,有2个单选按钮允许用户批准或拒绝该“行”。用户完成后,他/她可以提交表单。这就是我所做的。

@foreach($items as $item)                 
    <td>{{ $item->item_title }}</td>
    <td>{{ $item->description }}</td>
    <td>{{ $item->price }}</td>
    <td>{{ $item->quantity }}</td>
    <td>{{ $item->total }}</td>
    <td>
        <div class='btn-group'>
                <form action="{{url('lineManagerUpdateRequests')}}" method="post">

                <input type="radio" name="status[]" value="2"> Approve
                <input type="radio" name="status[]" value="6"> Decline
            </div>
        </td>    
    @endforeach
    <input type="submit" name="submit" class="btn btn-sm btn-danger">
</form>

由于用户只能从一行中选择一个无线电,因此存在此问题。例如,如果有3行,则用户只能选择单行的单选按钮。请问我该如何纠正这个问题。

4 个答案:

答案 0 :(得分:0)

@foreach($items as $item)                 
    <td>{{ $item->item_title }}</td>
    <td>{{ $item->description }}</td>
    <td>{{ $item->price }}</td>
    <td>{{ $item->quantity }}</td>
    <td>{{ $item->total }}</td>
    <td>
        <div class='btn-group'>
                <form action="{{url('lineManagerUpdateRequests')}}" method="post">

                <input type="radio" name="status[]" value="2"> Approve
                <input type="radio" name="status[]" value="6"> Decline
              </FORM>
            </div>
        </td>    
    @endforeach
    <input type="submit" name="submit" class="btn btn-sm btn-danger">

答案 1 :(得分:0)

应为每个项目放置一个提交按钮,或将表单标签放在foreach循环外部,并使用ajax进行单独更新,并使用提交按钮进行整体保存

选项一:

@foreach($items as $item)                 
  <td>{{ $item->item_title }}</td>
  <td>{{ $item->description }}</td>
  <td>{{ $item->price }}</td>
  <td>{{ $item->quantity }}</td>
  <td>{{ $item->total }}</td>
  <td>
     <div class='btn-group'>
            <form action="{{url('lineManagerUpdateRequests')}}" method="post">

             <input type="radio" name="status[]" value="2"> Approve
             <input type="radio" name="status[]" value="6"> Decline
             <input type="submit" name="submit" class="btn btn-sm btn-danger">
            </form><!-- Need to add a closing form tag -->
        </div>
    </td>    
@endforeach

选项二:

 <form action="{{url('lineManagerUpdateRequests')}}" method="post">
@foreach($items as $item)                 
  <td>{{ $item->item_title }}</td>
  <td>{{ $item->description }}</td>
  <td>{{ $item->price }}</td>
  <td>{{ $item->quantity }}</td>
  <td>{{ $item->total }}</td>
  <td>
     <div class='btn-group'>                
        <input type="radio" name="status[]" value="2"> Approve
        <input type="radio" name="status[]" value="6"> Decline                 
     </div>
    </td>    
@endforeach
<input type="submit" name="submit" class="btn btn-sm btn-danger">
</form><!-- Need to add a closing form tag -->

答案 2 :(得分:0)

您可以为不同行的单选按钮定义单独的组。

<fieldset id="{{ $item->item_title }}">
      <input type="radio" name="status[]" value="2"> Approve
     <input type="radio" name="status[]" value="6"> Decline
</fieldset>    

Id属性中,您可以添加一些可能唯一的内容,我希望$item变量有一个主键($ Id)?现在我放了$item->item_title

答案 3 :(得分:0)

这是获取每个项目的所有批准/拒绝值的最佳方式。然后,您必须循环并在设置的位置进行更改。

{{1}}

这会为您提供ID,以及结果中是否已批准或拒绝。如果遗失,则表示他们没有回应。