laravel 5.4:输入复选框列表

时间:2018-01-20 08:20:03

标签: forms laravel for-loop request

我的表单中包含一个复选框列表,其中包含typedoc_1typedoc_2typedoc_3等输入名称。 如何进行循环检查检查哪些数字?通常我在我的控制器中使用Request (as $request->type_1)。 感谢。

3 个答案:

答案 0 :(得分:0)

<input type="checkbox" name="typedoc[1]" value="1"/>
<input type="checkbox" name="typedoc[2]" value="1"/>
<input type="checkbox" name="typedoc[3]" value="1"/>
<input type="checkbox" name="typedoc[4]" value="1"/>

在您的控制器中:

$typedocs = $request->typedoc;
foreach($typedocs as $key=> $value){
  if($value == 1) { ##here you can check your condition
   //insert/update
  }else{
    //delete
   }
}

希望这会对你有所帮助

答案 1 :(得分:0)

如果您有5个输入,那么您可以执行以下操作 -

for($i=1;$i<=5;$i++){
    if($request->has('typedoc_'.$i)){
         $type = $request->input('typedoc_'.$i);
    } 
 }

使用请求has()方法确定request上是否存在值。

或使用filled()确定请求中的值是否为present且不是empty

if ($request->filled('typedoc_'.$i)) {
    //insert/update
}

答案 2 :(得分:0)

// Blade

<input type="checkbox" checked name="typedoc[]" value="1"/>
<input type="checkbox" name="typedoc[]" value="2"/>
<input type="checkbox" name="typedoc[]" value="3"/>
<input type="checkbox" checked name="typedoc[]" value="4"/>

//控制器

$selected = $request->typedoc; // [1,4]