質問: 0; $("#category_select").attr('disabled', true); } else { $("#category_select").attr('disabled', false); } }; ``` 宜しくお願い致します。
回答: syntaxエラーですので、phpの記述の問題ですね。 配列の要素を増減させたいとしても、if文でそんな風に記述することはできないです。 ``` {!! Form::select('category', $items->category, old('category'), ['id' => 'category_select', 'placeholder' => '選択してください', 'onclick' => 'clicksetNonSelect("category_select")', 'disabled' => old('checkbox') ==="on"]) !!} ``` では、期待する状態にはならないのでしょうか? disabled を渡してしまうことが問題ならば、phpで配列を作成してしまう方が分かりやすいかも。 ``` 'category_select', 'placeholder' => '選択してください', 'onclick' => 'clicksetNonSelect("category_select")']; if(old('checkbox') ==="on"){ $category_option['disabled'] = true; } ?> {!! Form::select('category', $items->category, old('category'), $category_option) !!} ``` あるいは、入力画面開いた時も、jsで初期処理として、 ``` clicksetNonSelect("category_select"); ``` を1回呼ぶだけでもいいと思いますが、こちらは出来ない理由があったりするのでしょうか・・? あと余談ですが、 select#category_selectに、`'onclick' => 'clicksetNonSelect("category_select")'`は、不要なのでは・・?