راکت

چرا این کد undifine برمیگردونه

3 پاسخ

سلام
یک تگ 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 برمیگردونه مشکل کجاست ؟

ثبت پرسش جدید

پاسخ‌ها

3
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

ابتدا متغیر rng رو تعریف کردید، مقداری که میگیره چیه؟
زمانی که تغییری در select رخ بده، متغیر rng مقدار می گیره.
اما برنامه چطور پیش میره؟ در زمان شروع، کدهای js خط به خط اجرا می شوند، وقتی به خط rng می رسه، قطعا تغییری در select رخ نداده، پس هیچ مقداری به rng نمی رسه و بنابراین در خط آخر کدها، rng مقدارش تعریف نشده خواهد بود.

اگر هم که درون صفحه مقدار select رو تغییر دهید، مقدار rng عوض خواهد شد، اما این عوض شدن به نمایش در نخواهد آمد، چون قرار نیست کدها مجدد خط به خط اجرا شوند.

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

بماند که کد درون تابع شنونده هم درست ننوشته شده و پیغام خطا خواهد داد.

شاید پاسخ شما همین‌جا باشد

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

در مجموع هم شیوه کدنویسی در اینجا دارای ایراد هستش و هم استفاده از خصوصیات select به درستی صورت نمی گیره و نتیجه ای بدست نخواهد اومد.
برای حل مشکل تون، ابتدا بهتره که بیان کنید که دنبال چه هستید تا بر اون اساس کدهارو بشه به شکل صحیح نوشت.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام