创建多个问题复选框,我需要将两个可能的情况1或0发送到数据库。但是,它总是将我点击的最后一个发送为1所有其他0.所以例如,如果用户点击/检查第一个和最后一个我想发送到数据库,1和另外两个未经检查0。 / p>
控制器
<?php
public function create($request)
{
foreach ($request['options'] as $key => $option) {
Answer::create([
'question_id' => $this->get(),
'text' => $option,
'correct' => $request['correct'] == $key ? 1 : 0
]);
}
}
查看
@for($i = 1; $i<=4; $i++)
<div class="form-group {{ $errors->has('options.'.$i) ? ' has-error': '' }}" id="option{{ $i }}">
<div class="checkbox col-xs-2 control-label" style="margin-top: -2px">
<label>
<input id="cc" type="checkbox" name="correct" value="{{$i}}" {{ $i==1 ? 'checked' : '' }} >
<!--
{!! Form::hidden('correct',0) !!}
{!! Form::checkbox('correct',1,false) !!}
-->
</label>
</div>
<div class="col-xs-8">
<input type="text" name="options[{{ $i }}]" value="{{ old('options.'.$i) }}"
class="form-control" placeholder="@lang('general.option') {{ $i }}">
@if($errors->has('options.'.$i))
<div class="col-xs-12"></div>
<span class="help-block">
<strong>{{ $errors->first('options.'.$i) }}</strong>
</span>
@endif
</div>
</div>
@endfor
答案 0 :(得分:0)
要么为复选框提及控件数组,如下所示
<input id="cc" type="checkbox" name="correct[]" value="{{$i}}" {{ $i==1 ? 'checked' : '' }} >
将 name="correct"
更改为 name="correct[]"
OR
使用增量变量(如
)为每个复选框指定不同的名称 name="correct"
到 name="correct_".$i