実現したいこと
ここに実現したいことを箇条書きで書いてください。
- laravel mixとjQueryを適応させたい
前提
筋トレ継続のためのWebアプリケーションを制作しており、トレーニングの記録をする際にトレーニング部位を選択したらそれに値するトレーニングメニューを選択できるようにした意図思っています。
発生している問題・エラーメッセージ
jQueryが入っているはずなのに適応されない。
エラーメッセージ
$ is not defined; please fix or add /global $/
該当のソースコード
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>My Training Note</title> <!-- Fonts --> <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet"> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>ss <script src="{{ asset('js/Record.js') }}"></script> <link href="{{ mix('js/Record.js') }}" rel="preload" as="script"></html></head> <header> <a href='/posts/create'>create</a> <a href='/records/create'>Training Note</a> </header> <body> <h1>Training Note</h1> <form action="/records" method="Training"> @csrf <div class="types"> <h2>トレーニングタイプ</h2><br> <select name="select_types"> <option>ジムトレーニング</option> <option>ホームトレーニング</option> </select> </div> <form> <h2></h2> <label for="bodyPartSelect">ボディパーツ</label> <select id="bodyPartSelect"> <option value="1">胸筋</option> <option value="2">背筋</option> </select> <label for="menuSelect">トレーニングメニュー</label> <select id="menuSelect"> </select> </form> </div> <div class="weight"> <h2>重量</h2> <select name="weights"> <option></option> </select> </div> <div name="set"> <h2>セット数</h2> <select name="sets"> <option></option> </select> </div> <div name="rep"> <h2>レップ数</h2> <select name="reps"> <option></option> </select> </div> </div> <input type="submit" value="実行"/> <input type="submit" value="保存"/> </form> <div class="footer"> <div class="back"><a href="/">back</a></div> </div> </body>
Record.js
$(document).ready(function () {
$('#bodyPartSelect').change(function () {
var bodyPartId = $(this).val();
// 対応するトレーニングメニューを取得 $.ajax({ url: '/get-menus/' + bodyPartId, // ルートを指定 type: 'GET', success: function (data) { var menuSelect = $('#menuSelect'); menuSelect.empty(); // セレクトボックスをクリア // トレーニングメニューを追加 $.each(data, function (id, name) { menuSelect.append(new Option(name, id)); }); }, error: function () { alert('トレーニングメニューの取得に失敗しました。'); } }); });
});
webpack.mix.js
mix.js('resources/js/app.js', 'public/js')
js( 'resources/js/chat.js', 'public/js' ) //追加
.autoload( { //追加ここから
"jquery": [ '$', 'window.jQuery' ],
} )//追加ここまで
.sass('resources/sass/app.scss', 'public/css')
.sourceMaps();
php ソースコード
試したこと
jQueryとnpmのアップデート検索で出てきたコードに入れ替える
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
laravel mixを使用しています
ここにより詳細な情報を記載してください。