سلام
یک تگ select دارم با تعدادی option میخام option انتخابی را در یک متغییر ذخیره کنم
کد های html:
<select id="test">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
کد های js
const aaa = document.querySelector("#test")
const rng = aaa.addEventListener("change",(e)=>{
return e.target.selectedOptions[e.target.selectedIndex].text
})
console.log(rng)
الان این کد undifine برمیگردونه مشکل کجاست ؟
ابتدا متغیر rng رو تعریف کردید، مقداری که میگیره چیه؟
زمانی که تغییری در select رخ بده، متغیر rng مقدار می گیره.
اما برنامه چطور پیش میره؟ در زمان شروع، کدهای js خط به خط اجرا می شوند، وقتی به خط rng می رسه، قطعا تغییری در select رخ نداده، پس هیچ مقداری به rng نمی رسه و بنابراین در خط آخر کدها، rng مقدارش تعریف نشده خواهد بود.
اگر هم که درون صفحه مقدار select رو تغییر دهید، مقدار rng عوض خواهد شد، اما این عوض شدن به نمایش در نخواهد آمد، چون قرار نیست کدها مجدد خط به خط اجرا شوند.
در مجموع هم شیوه کدنویسی در اینجا دارای ایراد هستش و هم استفاده از خصوصیات select به درستی صورت نمی گیره و نتیجه ای بدست نخواهد اومد.
برای حل مشکل تون، ابتدا بهتره که بیان کنید که دنبال چه هستید تا بر اون اساس کدهارو بشه به شکل صحیح نوشت.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟