قوائم 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- قوائم Select وoption المنسدلة
- عنصر Textarea للإدخال متعدد الأسطر
- مجموعات مربعات الاختيار وأزرار الاختيار
- عنصر Datalist للإكمال التلقائي