php
1@foreach($objtsas $objt) 2<form> 3 <div class="type"> 4 <?php 5 // DB or Input 6 $chck_bx = old('objt_kind'); 7 if(! is_array($chck_bx)){ 8 $chck_bx = $objt['objt_kind']; 9 } 10 ?> 11 @foreach($options['objt_kind'] as $option) 12 <?php 13 // Checked 14 $checked = ""; 15 if(is_array($chck_bx) && in_array($option['code'], $chck_bx)){ 16 $checked = "checked"; 17 } 18 ?> 19 <label><input type="checkbox" name="objt_kind[]" value="{{ $option['code'] }}" {{ $checked }}>{{ $option['code_value'] }}</label> 20 @endforeach 21 </div> 22 <div> 23 <?php 24 // DB or Input 25 $radio = old('f2-6'); 26 if(! ($radio !== '' && $radio !== null)){ 27 $radio = $objt['objt_cost']; 28 } 29 ?> 30 @foreach($options['objt_cost'] as $option) 31 <?php 32 $checked = ""; 33 if($radio == $option['code']){ 34 $checked = "checked"; 35 } 36 ?> 37 <!-- デフォルトでチェックが入らない --> 38 <label><input type="radio" name="f2-6" value="{{ $option['code'] }}" {{ $checked }}>{{ $option['code_value'] }}</label> 39 @endforeach 40 </div> 41<form> 42@endforeach
endforeachのすぐ上なのですが、デフォルトでチェックが入りません。
原因が分かるかたいらっしゃいますでしょうか。
name属性を空にするとデフォルトでチェックが付きます。
チェックボックスの方は問題なくデフォルトでチェックが入ります。
よろしくお願いします。
★追記★
ソースを修正しました。(foreachの追加)
デフォルトのチェックですが、foreachのループが2以上になった場合は、
一番最後のループで作られるラジオボタンでは、上手くついてます。
おそらく同じ名前のラジオボタンが作られているからと予想します。
あなたの回答
tips
プレビュー