我使用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']
?
提前致谢。
答案 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