HTML القوائم المنسدلة

مفهوم القائمة المنسدلة

القائمة المنسدلة ( Dropdown ) عبارة عن قائمة تشبه الزر عند النقر عليها تظهر جميع العناصر الموجودة فيها.

إفتراضياً يظهر في الصفحة العنصر الأول في القائمة فقط و يكون بإمكان المستخدم اختيار عنصر واحد منها, و لكنك تستطيع تحديد عدد العناصر التي ستظهر بالإضافة لجعله قادر على اختيار أكثر من قيمة منها.

إضافة قائمة منسدلة

لإظهار قائمة منسدلة تحتوي مجموعة عناصر يمكن إختيار أحدها, يمكنك إضافة الوسم <select> </select> لإعلام المتصفح أنك تريد عرض قائمة منسدلة و كل عنصر تريد وضعه بداخلها تضعه بداخل <option> </option>.


خصائص الوسم <select>

  • id نضيفها له في حال أردنا ربطه بوسم <label>.
  • name نضيفها له حتى يتم إرسال القيمة المختار فيه عند النقر على زر الإرسال.
  • size نضيفها له في حال أردنا تحديد عدد العناصر التي ستظهر بداخل القائمة, إفتراضياً يظهر عنصر واحد.
  • multiple نضيفها له في حال أردنا جعل المستخدم قادر على اختيار أكثر من قيمة في نفس الوقت.
  • disabled نضيفها له في حال أردنا جعله غير مفعّل, أي ليظهر بلون باهت و لا يمكن النقر على أي قيمة موضوعة فيه.


خصائص الوسم <option>

  • value نضيفها له لنحدد قيمة الخيار و يجب وضع قيمة مختلفة لكل <option>.
  • selected نضيفها له في حال أردنا جعل العنصر مختاراً بشكل إفتراضي.
  • disabled نضيفها له في حال أردنا جعله يظهر بلون باهت و لا يمكن اختياره.


معلومة تقنية

النص الذي تظهره بجانب القائمة, قم دائماً بوضعه بواسطة الوسم <label> مع ربطه بها لأن المتصفح سيعتبر المستخدم نقر على القائمة نفسها عندما ينقر على النص المربوط به. و هنا نود الإشارة إلى أن القائمة قد لا تفتح عند النقر على النص المربوط بها و لكن سيظهر بشكل واضح للمستخدم أنه يقف عندها الآن و في حال كان يستخدم حاسوب فإنه سيتمكن من تغيير القيمة المختارة فيها بواسطة الأسهم الموجودة في الكيبورد.


في المثال التالي قمنا بإضافة قائمة منسدلة تحتوي على 4 عناصر.

المثال الأول

<label for="languages">Choose your language:</label>
<select id="languages" name="languages">
	<option value="arabic">Arabic</option>
	<option value="english">English</option>
	<option value="french">French</option>
	<option value="spanish">Spanish</option>
</select>
		

جرب الكود



في المثال التالي قمنا بإضافة قائمة مع تحديد أن العنصر الثالث سيكون مختاراً بشكل إفتراضي عندما تفتح الصفحة.

المثال الثاني

<label for="languages">Choose your language:</label>
<select id="languages" name="languages">
	<option value="arabic">Arabic</option>
	<option value="english">English</option>
	<option value="french" selected>French</option>
	<option value="spanish">Spanish</option>
</select>
		

جرب الكود



في المثال التالي قمنا بإضافة قائمة مع جعلها تظهر أربع عناصر (أي كل العناصر الموضوعة فيها) و يمكن إختيار أكثر من عنصر فيها.
معلومة: حتى تتمكن من اختيار أكثر من عنصر يجب أن تبقي إصبعك على الزر Ctrl عند اختيار العناصر.

المثال الثالث

<label for="languages">Choose your languages:</label>
<select id="languages" name="languages[]" size="4" multiple>
	<option value="arabic">Arabic</option>
	<option value="english">English</option>
	<option value="french">French</option>
	<option value="spanish">Spanish</option>
</select>
		

جرب الكود



ملاحظة

عند استخدام الخاصية multiple يجب إضافة الرمز [] في آخر الإسم الذي تعطيه للقائمة بواسطة الخاصية name حتى يعلم المتصفح أن المستخدم قد يرسل أكثر من قيمة مما يجعله يقوم بإرسال جميع القيم التي يختارها عند النقر على زر إرسال البيانات كما فعلنا في المثال السابق حيث وضعنا name="languages[]" و ليس name="languages".



في المثال التالي قمنا بإضافة قائمة مع جعل آخر عنصرين في القائمة غير قابلين للإختيار.

المثال الرابع

<label for="languages">Choose your language:</label>
<select id="languages" name="languages">
	<option value="arabic">Arabic</option>
	<option value="english">English</option>
	<option value="french" disabled>French</option>
	<option value="spanish" disabled>Spanish</option>
</select>
		

جرب الكود



في المثال التالي قمنا بإضافة قائمة مع جعلها غير مفعّلة, أي لا يمكن تغيير قيمة العنصر المختار فيها.

المثال الخامس

<label for="languages">Choose your language:</label>
<select id="languages" name="languages" disabled>
	<option value="arabic">Arabic</option>
	<option value="english">English</option>
	<option value="french">French</option>
	<option value="spanish">Spanish</option>
</select>
		

جرب الكود

الدورات

أدوات مساعدة

الأقسام

دورات
مقالات أسئلة مشاريع كتب