如何在Laravel 5中获取checkbox数组的值?

时间:2017-04-13 13:01:02

标签: php laravel checkbox laravel-5

我使用javascript在表单中创建了复选框:

<input type="checkbox" name="is_ok[]" />
<input type="checkbox" name="is_ok[]" />
<input type="checkbox" name="is_ok[]" />

当我选中第一个和第三个复选框并提交表单时,Input::get("is_ok")会返回给我:

['on', 'on']

有没有办法让价值为['on', null, 'on']['on', 'off', 'on']

提前致谢。

5 个答案:

答案 0 :(得分:1)

嘿将一些值分配给复选框,例如user_id, product_id etc应用程序中的任何内容。

<强> E.g。图

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

<强> E.g。控制器

<?php
    if(isset($_POST['is_ok'])){
        if (is_array($_POST['is_ok'])) {
             foreach($_POST['is_ok'] as $value){
                echo $value;
             }
          } else {
            $value = $_POST['is_ok'];
            echo $value;
       }
   }
?>

您将获得所选复选框的数组。

希望有所帮助......

答案 1 :(得分:1)

我认为我有一个“好”的解决方案(有点)。

<input type="checkbox" name="is_ok[0]" />
<input type="checkbox" name="is_ok[1]" />
<input type="checkbox" name="is_ok[2]" />

(强迫指数)

在请求中:

$array = \Request::get("is_ok") + array_fill(0,3,0);
ksort($array);

这将确保(a)复选框索引按预期维护。 (b)收到请求后填补空白。

它很草率但可能有用。

答案 2 :(得分:0)

恕我直言,这是最佳做法:

在迁移中将db表字段设置为boolean,默认为0

 <input type="checkbox" name="is_ok[]" value="<?php isset($model->checkbox) ? : 0; ?>" />

如果您没有使用laravel collective for forms,那么您可以使用vanilla php

{{1}}

答案 3 :(得分:0)

我的解决方案是laravel 5

$request->get('is_ok[]');

答案 4 :(得分:0)

虽然可能不是最佳实践,但这是我首先将特定模型的ID作为值发送的方法。

8 monsters
StAugustine Grass 12
Zoysia Grass 8
WholeWheat Bread 6
MultiGrain Bread 10
Rye Bread 10
Cinnamon Spice 5
Pepper Spice 10
Pumpkin Spice 30

然后在控制器中添加了两个查询以更新该字段。

StAugustine Grass 12
Zoysia Grass 8
WholeWheat Bread 6
MultiGrain Bread 10
Rye Bread 10
Cinnamon Spice 5
Pepper Spice 10
Pumpkin Spice 30
`7 w├?]╨@ 10
   w├?]╨@ 10