お世話になっております。
当方Laravel5.5にてWebSiteを構築しております、
環境はmac OS Mojave10.14.2
ブラウザはGoogle Chrome バージョン: 71.0.3578.98になります。
やりたいこと
Laravel collectiveを使用して、
セレクトボックスに対して、
view内のある変数(当質問ではold値)の内容を
基準にdisabledを設定したい(下記操作手順の④)のですが、
エラーが出現するため困っています。
操作手順と意図
① データ入力画面にて、チェックボックスにチェックを入れる
(javascriptにより、チェックボックスをクリックすると
セレクトボックスが無効化される)
② 確認ボタンを押し、データ入力の確認画面へ移動する
③ 戻るボタンで確認画面からデータ入力画面に戻る
④ データ入力画面に戻ると、各項目はold値を取得しているので
入力時の値が保持されている。
この際、チェックボックスにはチェックが入っているが、
セレクトボックスは無効化された状態になっていない。
(無効化のjavascriptはクリックをトリガーにしているので当然)
そのため、viewを読み込む際に、チェックボックスのold値が
onになっている場合は、セレクトボックスをdisabledにする
ようにしたい。
エラー文
Parse error: syntax error, unexpected 'if' (T_IF), expecting ']'
現状
viewのソース
php
1//セレクトボックス 2 {!! Form::select('category', $items->category, old('category'), ['id' => 'category_select', 'placeholder' => '選択してください', 3 'onclick' => 'clicksetNonSelect("category_select")' 4 ,if(old('checkbox') ==="on"){'disabled' => true}]) !!} 5 6//チェックボックス 7 <div class="pretty p-icon p-curve"> 8 <input type="hidden" name="undecided" value=""> 9 {!! Form::checkbox('undecided', 'on', old('undecided'), ['id' => 'undecided', 'onclick' => 'clicksetNonSelect("category_select")']) !!} 10 <div class="state"> 11 <i class="icon mdi mdi-check"></i> 12 <label>カテゴリを設定しない</label> 13 </div> 14 </div> 15
エラー時に出力されるソース(laravel collectiveの表記変換後)
php
1 <?php echo Form::select('category', $items->category, old('category'), ['id' => 'category_select', 'placeholder' => '選択してください', 2 'onclick' => 'clicksetNonSelect("category_select")' 3 ,if(old('checkbox') ==="on"){'disabled' => true}]); ?>
チェックボックスクリック時にセレクトボックスを無効化するjs
php
1function clicksetNonSelect(undecided){ 2 if ($("#undecided").prop("checked") == true) { 3 var obj = document.getElementById(undecided); 4 obj.selectedIndex = 0; 5 $("#category_select").attr('disabled', true); 6 } else { 7 $("#category_select").attr('disabled', false); 8 } 9}; 10
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー