【问题标题】:Checkbox value in controller in laravellaravel控制器中的复选框值
【发布时间】:2020-10-18 20:46:24
【问题描述】:

我正在尝试获取通过复选框选择的所有付款,然后将数据库中的值更新为“1”,这表示已付款。但是当我尝试获取复选框数组的值时,我只在数组中得到 1 个数据,而不是全部选中。有什么帮助吗?

查看

@foreach($sellerID as $p)
   <form action="/paid/{{$p->id}}" method="post" enctype="multipart/form-data">   
        @csrf
     <td><input type="checkbox" name="checked[]" value="{{ $p->id }}"></td>
     <td> {{$p->order_number}} </td>
     <td>
         <input id="commission" type="text" class="form-control" name="commission" 
         value="{{ $p->commission_value }}" readonly  autocomplete="notes" style="width: 15%;" autofocus>
     </td>
                                        
     <td> {{$p->product_name}} </td>
     <td> 
         @if($p->sellet_commission_paid == '0')
            <button type="submit" class="btn btn-default" style="background-color:red">
                <b><em>UNPAID</b></em>
            </button>
         @else
            <a href="#" class="btn btn-default" style="background-color:green"><b><em>PAID</b></em></a>
         @endif                                    
     <td>   
  </form>
@endforeach

控制器

$checked = $request->input('checked');
     //   $checkboxes = $request->checked;

   dd($checked);
   die();
    //    dd(checkboxes);

【问题讨论】:

  • 但是,你这里只有一个复选框,所以你得到一个
  • 每个结果都在表格中。我应该放在佣金值旁边吗?]
  • 您需要将所有输入元素放入表单中:
  • 每个元素都在表单中。没有任何形式
  • 好像你用了不止一个&lt;form&gt;,我回答得很详细。

标签: laravel checkbox view controller


【解决方案1】:

您几乎可以将任何您喜欢的内容放入表单中,但不能放入表格中。表的结构更受限制,您必须遵循。

您可以用 1 个表单包裹整个表格并提交所有表格,然后提取您需要的详细信息,而不是用表格包装表格行,

您需要将所有输入元素放入表单中:

<form action="/route">
   <input ...../>
   <div>
      <input ...../>
   </div>
</form>

默认情况下,表单关联元素与其祖先表单元素相关联,但可以指定一个表单属性来覆盖它。

如果与表单相关的元素具有指定的表单属性,则该属性的值必须是元素所有者文档中表单元素的 ID。

【讨论】:

  • 你的意思是我需要把表格和表格分开吗?
  • 即使我删除了表格,它给出了相同的结果,即只返回数组中的一项
  • 你已经在&lt;form&gt;之外添加了按钮,这将如何工作?
【解决方案2】:

尝试使用 foreach 循环。

foreach($request->input('checked') as $check){
  [sample variable] = $check;
 }

该数组现在将存储为 $check,您应该能够从输入中获取每个值

【讨论】:

    猜你喜欢
    • 2014-08-15
    • 2019-02-20
    • 2018-12-15
    • 2016-09-14
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2017-09-13
    • 2016-11-20
    相关资源
    最近更新 更多