HTML الوسم <select>

تعريفه

نستخدم الوسم <select> لعرض قائمة خيارات تشبه الزر حين تكون مغلقة و عند النقر عليها تظهر جميع الخيارات الموجودة فيها.
أي خيار نريد وضعه في القائمة التي يمثلها الوسم <select> نضعه كوسم <option> على النحو التالي.

<label id="select-id">text<label>
<select id="select-id">
    <option value="val-1">
    <option value="val-2">
	...
</select>
	

  • مكان الكلمة select-id نضع id الوسم <select>.
  • مكان الكلمة text نضع عنوان للوسم <select> للإشارة إلى ما هو الهدف منه.
  • القيمة التي نمررها للخاصية value في كل وسم <option> تظهر كخيار في القائمة.

معلومة تقنية

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

دعم المتصفحات

الجدول التالي يظهر المتصفحات التي تدعم الوسم <select>.

Chrome Edge Firefox Opera Safari Android
Webview
Chrome
for Android
Firefox
for Android
Opera
for Android
Safari
for IOS
Samsung
Internet
مدعوم 12 1 مدعوم مدعوم مدعوم مدعوم 4 مدعوم مدعوم مدعوم

خصائصه


الخاصية autofocus

يمكن إضافتها للوسم لإعلام المتصفح أنه عند فتح الصفحة سيتم إعتبار أن المستخدم يقف عنده.
ملاحظة: لا يجب وضع هذه الخاصية لأكثر من وسم في نفس الصفحة لأنه لا يمكن الوقوف عند أكثر من وسم في وقت واحد.

الجدول التالي يظهر المتصفحات التي تدعم هذه الخاصية.

Chrome Edge Firefox Opera Safari Android
Webview
Chrome
for Android
Firefox
for Android
Opera
for Android
Safari
for IOS
Samsung
Internet
مدعوم 12 1 مدعوم مدعوم مدعوم مدعوم 4 مدعوم مدعوم مدعوم


الخاصية disabled

يمكن إضافتها للوسم لجعله غير مفعل مما يعني أنه سيظهر في الصفحة و لكن لن يكون بإمكان المستخدم النقر عليه.

الجدول التالي يظهر المتصفحات التي تدعم هذه الخاصية.

Chrome Edge Firefox Opera Safari Android
Webview
Chrome
for Android
Firefox
for Android
Opera
for Android
Safari
for IOS
Samsung
Internet
مدعوم 12 1 مدعوم مدعوم مدعوم مدعوم 4 مدعوم مدعوم مدعوم


الخاصية form

يمكن إضافتها للوسم لتحديد إلى أي نموذج هو تابع و هذا الأمر يمكنك فعله في حال كان الوسم موضوع خارج النموذج و تريد ربطه به.
يجب وضع id النموذج الذي يتبع له كقيمة للخاصية.

الجدول التالي يظهر المتصفحات التي تدعم هذه الخاصية.

Chrome Edge Firefox Opera Safari Android
Webview
Chrome
for Android
Firefox
for Android
Opera
for Android
Safari
for IOS
Samsung
Internet
مدعوم 12 1 مدعوم مدعوم مدعوم مدعوم 4 مدعوم مدعوم مدعوم


الخاصية name

يجب إضافتها للوسم بهدف إعطائه إسم حتى يتم إرسال الإسم و القيمة المختارة فيه مع البيانات التي يتم إرسالها في النموذج.

الجدول التالي يظهر المتصفحات التي تدعم هذه الخاصية.

Chrome Edge Firefox Opera Safari Android
Webview
Chrome
for Android
Firefox
for Android
Opera
for Android
Safari
for IOS
Samsung
Internet
مدعوم 12 1 مدعوم مدعوم مدعوم مدعوم 4 مدعوم مدعوم مدعوم


الخاصية required

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

Chrome Edge Firefox Opera Safari Android
Webview
Chrome
for Android
Firefox
for Android
Opera
for Android
Safari
for IOS
Samsung
Internet
مدعوم 12 1 مدعوم مدعوم مدعوم مدعوم 4 مدعوم مدعوم مدعوم


الخاصية size

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

Chrome Edge Firefox Opera Safari Android
Webview
Chrome
for Android
Firefox
for Android
Opera
for Android
Safari
for IOS
Samsung
Internet
مدعوم 12 1 مدعوم مدعوم مدعوم مدعوم 4 مدعوم مدعوم مدعوم

إستخدامه

في المثال التالي قمنا بإضافة قائمة منسدلة بواسطة الوسم <select> تحتوي على 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>
		

جرب الكود

تصميمه الإفتراضي

بشكل عام جميع المتصفحات تعرضه بالتنسيق التالي.

select {
	display: none;
}
	

الدورات

أدوات مساعدة

أقسام الموقع

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