【问题标题】:Laravel - get all checkbox values from the RequestLaravel - 从请求中获取所有复选框值
【发布时间】:2019-03-03 18:40:14
【问题描述】:

我在 HTML 中有这样的复选框:

<input type="checkbox" name="models" value="ipad">
<input type="checkbox" name="models" value="ipod">

我在Request 对象中获取整个表单值,它包含一个复选框值,如下所示:

&models=ipad&models=ipod

我正在尝试提取数组中的所有这些值,如下所示:

["ipad", "ipod"]

我试过了,但没用:

$request->input('models')
$request->input('models.*')
$request->all()

也没有用:

<input type="checkbox" name="models[]" value="ipad">

【问题讨论】:

  • 您尝试过的代码会得到什么输出。你有任何输出吗?还是只有一个?还是键甚至没有包含在结果中?
  • name="models[]" 应该可以工作。如果您使用 name="models[]" 重命名所有输入名称,它应该显示为 $request-&gt;all()$request-&gt;input('models');
  • 当您添加models[] 时,$request-&gt;input('models'); 的结果是什么?这应该有效。
  • 这些解决方案你试过了吗@@stackoverflow.com/questions/43393059/…

标签: laravel


【解决方案1】:

这应该可行:

<input type="checkbox" name="models[]" value="ipad">
<input type="checkbox" name="models[]" value="ipod">

【讨论】:

  • 是的,这行得通,我之前尝试过,但在它到达刀片文件之前我已经失去了价值。但现在可以了。
【解决方案2】:

试试下面的代码:

<input type="checkbox" name="models[]" value="ipad">
<input type="checkbox" name="models[]" value="othervalue">

如果您已将 models[] 添加为数组,那么您可以循环遍历选定的值,例如:

foreach($request->input('models') as $value){
  // $value
}

【讨论】:

    【解决方案3】:

    试试

    <input type="checkbox" name="models[]" value="ipad">
    <input type="checkbox" name="models[]" value="ipod">
    

    在你的控制器中:

      $request->models
    

    【讨论】:

      【解决方案4】:

      假设你是这样使用的

      <form method="get" action="{{ url('/testing') }}">
        @csrf
        <input type="checkbox" name="models[]" value="ipad">
        <input type="checkbox" name="models[]" value="ipod">
         <input type="submit" name="submit">
       </form>
      Then in response you get
      
      Array
      (
          [_token] => XhkdiOqbv24qhT4TnkT1liLm3GAyvTTt78vaDbBO
          [models] => Array
              (
                  [0] => ipad
                  [1] => ipod
              )
      
          [submit] => Submit Query
      )
      
      
      so finally you get array by $request->models
      
      on print_r($request->models) you will get
      
      Array
      (
          [0] => ipad
          [1] => ipod
      )
      
      

      【讨论】:

        猜你喜欢
        • 2021-03-01
        • 2011-07-08
        • 1970-01-01
        • 2017-05-13
        • 1970-01-01
        • 2017-04-03
        • 1970-01-01
        • 1970-01-01
        • 2016-04-14
        相关资源
        最近更新 更多