複数のチェックボックスを作成すると、1つまたは0の2つのケースをデータベースに送信する必要がありますが、 0のために。最初のものをチェックしクリックして、最後の場合、私は、データベース1と、他のデータベースに1または0として送信する必要がある複数のチェックボックスを作成する
0. 2未確認の私のコントローラの両方
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>
に
name="correct"
のような増分変数を使用して、各チェックボックスに別の名前を与えます。デフォルト値を0に設定し、Javaスクリプトを使用してチェックボックスの入力フィールド値を変更します。 –私はこのようにしてみました。 $('入力[タイプ= "チェックボックス"] ')('変更 '、function(){ if($(this) ){ $(この).ATTR( '値'、 '1');} 他{$(この).ATTR( '値'、 '0');} })。しかし、今はすべての入力を送信しています1 – ylli
隠し入力フィールドの値を変更する必要がある場合は、チェックボックス自体の値を変更します。あなたが理解することを願って –