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; }