0Pricing
HTML Academy · درس

قوائم Select وoption المنسدلة

إنشاء قوائم اختيار منسدلة باستخدام select وoption

قوائم Select وoption المنسدلة درس مجاني في HTML Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في HTML Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة HTML Academy 4 دروس في المجموع.

عنصر select

ينشئ عنصر <select> قائمة منسدلة:

<label for="country">Country</label>
<select id="country" name="country">
  <option value="us">United States</option>
  <option value="gb">United Kingdom</option>
  <option value="de">Germany</option>
</select>

القيمة value مقابل النص في option

يحتوي كل عنصر <option> على value تُرسل إلى الخادم، وعلى نص يظهر للمستخدم:

<select name="color">
  <option value="">-- Select a color --</option>  <!-- placeholder -->
  <option value="#ff0000">Red</option>
  <option value="#00ff00">Green</option>
  <option value="#0000ff">Blue</option>
</select>
<!-- value="#ff0000" is submitted; "Red" is displayed -->

السمة selected

حدّد خيارًا مسبقًا باستخدام السمة selected:

<select name="plan">
  <option value="free">Free</option>
  <option value="pro" selected>Pro (Recommended)</option>
  <option value="enterprise">Enterprise</option>
</select>

استخدام optgroup لتصنيف الخيارات

جمّع الخيارات المرتبطة باستخدام <optgroup>:

<select name="language">
  <optgroup label="Frontend">
    <option value="html">HTML</option>
    <option value="css">CSS</option>
    <option value="js">JavaScript</option>
  </optgroup>
  <optgroup label="Backend">
    <option value="python">Python</option>
    <option value="node">Node.js</option>
  </optgroup>
</select>

السمة multiple

اسمح بتحديد عدة خيارات باستخدام السمة multiple:

<label for="skills">Select your skills (Ctrl+Click for multiple)</label>
<select id="skills" name="skills" multiple size="5">
  <option value="html">HTML</option>
  <option value="css">CSS</option>
  <option value="js">JavaScript</option>
  <option value="python">Python</option>
</select>
<!-- size controls how many options are visible -->
<!-- Submitted as multiple values: skills=html&skills=css -->

السمة size

تتحكم السمة size في عدد الخيارات الظاهرة:

<!-- size=1 (default): dropdown -->
<select size="1">...</select>

<!-- size>1: list box -->
<select size="4">
  <option>HTML</option>
  <option>CSS</option>
  <option>JavaScript</option>
  <option>Python</option>
</select>

تعطيل الخيارات والمجموعات

عطّل خيارات فردية أو مجموعات كاملة:

<select name="plan">
  <option value="free">Free</option>
  <option value="pro">Pro</option>
  <option value="enterprise" disabled>Enterprise (Contact Sales)</option>
</select>

<select>
  <optgroup label="Legacy (deprecated)" disabled>
    <option value="v1">Version 1</option>
  </optgroup>
</select>

تنسيق select

تنسيق <select> الأصلي محدود — إليك ما يمكن تنسيقه:

select {
  appearance: none;   /* remove native dropdown arrow */
  -webkit-appearance: none;
  width: 100%;
  padding: 0.5rem 2.5rem 0.5rem 0.75rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-image: url("arrow-down.svg");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  cursor: pointer;
}

القوائم المنسدلة المخصّصة مقابل select الأصلي

الموازنة بين الخيارات عند التفكير في استخدام مكوّن قائمة منسدلة مخصّص:

  • select الأصلي — متاح الوصول افتراضيًا، مناسب للأجهزة المحمولة، ويعمل دون JavaScript
  • القائمة المنسدلة المخصّصة — تحكم كامل في التنسيق، لكنها تتطلب تطبيق ARIA بالكامل ومعالجة لوحة المفاتيح

فضّل استخدام <select> الأصلي في معظم حالات الاستخدام.

قراءة القيمة المحددة في JavaScript

احصل على القيمة المحددة أو عيّنها باستخدام JavaScript:

const select = document.getElementById('country');

// Get selected value:
console.log(select.value);  // e.g. 'us'

// Get selected option text:
console.log(select.options[select.selectedIndex].text);

// Set selected value:
select.value = 'de';

// Listen for changes:
select.addEventListener('change', () => {
  console.log('Selected:', select.value);
});

نمط خيار العنصر النائب

أنشئ خيارًا نائبًا غير قابل للتحديد:

<select name="role" required>
  <option value="" disabled selected>-- Select your role --</option>
  <option value="dev">Developer</option>
  <option value="designer">Designer</option>
  <option value="pm">Product Manager</option>
</select>
<!-- disabled + selected: shows as placeholder
     value="" + required: fails validation if not changed -->

اختبار سريع

ما العنصر الذي يجمع الخيارات المرتبطة داخل قائمة select المنسدلة؟

مراجعة: select وoption

أساسيات القوائم المنسدلة:

  • <select> + <option> — قائمة منسدلة
  • value في option — القيمة التي تُرسل إلى الخادم
  • selected — تحديد خيار مسبقًا
  • <optgroup label> — تجميع الخيارات المرتبطة
  • multiple — السماح بتحديد عدة خيارات
  • size — إظهار N من الخيارات دون قائمة منسدلة

الأسئلة الشائعة

هل درس «قوائم Select وoption المنسدلة» مجاني؟

نعم — نص درس «قوائم Select وoption المنسدلة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة HTML Academy، انتقل إلى CoddyKit PRO. تتضمن دورة HTML Academy 4 دروس في المجموع.

ماذا ستتعلم في «قوائم Select وoption المنسدلة»؟

إنشاء قوائم اختيار منسدلة باستخدام select وoption تتمرن على HTML Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ HTML Academy؟

لا تُشترط خبرة سابقة. HTML Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «قوائم Select وoption المنسدلة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس HTML Academy هذا؟

نعم. كل درس في HTML Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. قوائم Select وoption المنسدلة
  2. عنصر Textarea للإدخال متعدد الأسطر
  3. مجموعات مربعات الاختيار وأزرار الاختيار
  4. عنصر Datalist للإكمال التلقائي
← العودة إلى HTML Academy