前提・実現したいこと
セレクトタブを選択 → インプットする
というネストの関数を作っているのですが
最初の関数内で定義した変数がスコープの関係によってだと思うのですが
最初の関数中に入れ子になってる関数内で使用できません
発生している問題・エラーメッセージ
該当のソースコード
JavaScript
1const pfc = function () { 2 3 const selectMeet = document.getElementById("meet"); 4 selectMeet.addEventListener('change', function (){ 5 const meetSelectBox = document.getElementById("meet"); 6 const dataNumP = meetSelectBox.options[ meetSelectBox.selectedIndex].getAttribute("data-protein"); 7 const dataNumF = meetSelectBox.options[ meetSelectBox.selectedIndex].getAttribute("data-fat"); 8 const dataNumC = meetSelectBox.options[ meetSelectBox.selectedIndex].getAttribute("data-carbo"); 9 console.log(dataNumP); 10 console.log(dataNumF); 11 console.log(dataNumC); 12 13 const quantityInput = document.getElementById("quan-input"); 14 quantityInput.addEventListener("input", () => { 15 const inputValue = quantityInput.value; 16 console.log(inputValue * dateNumP); 17 console.log(inputValue * dateNumF); 18 console.log(inputValue * dateNumC); 19 }) 20 }) 21}; 22 23window.addEventListener("load", pfc); 24
試したこと
最初の関数内の"const"を全て"var"にしてみましたが変化無しでした
https://teratail.com/questions/106666
こちらも参考にさせていただいたのですが、回答が多くどれも用いるべきか判断し難いので
皆様にご意見伺いたいなと思い質問させていただきました
よろしくお願いします
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー