तकनीकी दृष्टिकोण से वे पूरी तरह से अलग हैं। <datalist>
अन्य तत्वों के लिए विकल्पों का एक सार कंटेनर है। आपके मामले में आप के साथ इसे का उपयोग किया है <input type="text"
, लेकिन आप भी पर्वतमाला, रंग, दिनांक आदि के साथ उपयोग कर सकते हैं http://demo.agektmr.com/datalist/
यदि पाठ इनपुट के साथ इसका उपयोग एक प्रकार के स्वत: पूर्ण के रूप में किया जाता है, तो वास्तव में सवाल यह है: क्या एक मुफ्त-प्रपत्र पाठ इनपुट, या विकल्पों की पूर्व निर्धारित सूची का उपयोग करना बेहतर है? उस मामले में मुझे लगता है कि उत्तर थोड़ा और स्पष्ट है।
यदि हम <datalist>
किसी पाठ क्षेत्र के लिए विकल्पों की सूची के रूप में उपयोग पर ध्यान केंद्रित करते हैं तो यहां कुछ विशिष्ट अंतर हैं और एक चुनिंदा बॉक्स:
- एक
<datalist>
खिलाए गए टेक्स्ट बॉक्स में डिस्प्ले लेबल और सबमिट दोनों के लिए एक ही स्ट्रिंग होती है। एक चयनित बॉक्स में एक अलग सबमिट मान बनाम डिस्प्ले लेबल हो सकता है <option value='ie'>Internet Explorer</option>
।
- एक
<datalist>
खिलाया टेक्स्ट बॉक्स <optgroup>
प्रदर्शन को व्यवस्थित करने के लिए टैग का समर्थन नहीं करता है ।
- आप एक उपयोगकर्ता को विकल्पों की सूची में सीमित नहीं
<datalist>
कर सकते हैं जैसे आप कर सकते हैं <select>
।
- Onchange घटना को अलग ढंग से काम करता है। एक
<select>
तत्व पर, ऑनकॉन्ग इवेंट को बदलने पर तुरंत निकाल दिया जाता है, जबकि <input type="text"
ईवेंट फ़ोकस होने के बाद फ़ॉर्वर्ड खो जाता है या उपयोगकर्ता प्रेस दर्ज करता है।
<datalist>
ब्राउज़र में वास्तव में धब्बेदार समर्थन है। सभी उपलब्ध विकल्पों को दिखाने का तरीका असंगत है, और चीजें केवल वहां से खराब होती हैं।
अंतिम बिंदु वास्तव में मेरी राय में बड़ा है। चूँकि आपके पास एक अधिक सार्वभौमिक स्वत: पूर्ण वापसी होगी, तो ए को कॉन्फ़िगर करने की परेशानी से गुजरने का लगभग कोई कारण नहीं है <datalist>
। प्लस किसी भी सभ्य स्वत: पूर्ण pluging शैली के तरीके अपने विकल्पों में से प्रदर्शन किया, जिसके लिए अनुमति देगा <datalist>
नहीं करता है। यदि <datalist>
स्वीकार किए जाते <li>
हैं कि आप चाहते हैं कि तत्वों को हेरफेर कर सकते हैं, यह वास्तव में बहुत अच्छा होता! लेकिन नहीं।
इसके अलावा, जैसा कि मैं बता सकता हूं, <datalist>
खोज स्ट्रिंग की शुरुआत से एक सटीक मिलान है। इसलिए अगर आपके पास होता <option value="internet explorer">
और आप 'एक्सप्लोरर' खोजते तो आपको कोई परिणाम नहीं मिलता। अधिकांश स्वतः पूर्ण प्लगइन्स पाठ में कहीं भी खोज करेंगे।
मैंने केवल <datalist>
कुछ आंतरिक पृष्ठों के लिए एक त्वरित और आलसी सुविधा सहायक के रूप में उपयोग किया है, जहां मुझे 100% निश्चितता के साथ पता है कि उपयोगकर्ताओं के पास नवीनतम क्रोम या फ़ायरफ़ॉक्स है, और फर्जी मूल्यों को प्रस्तुत करने की कोशिश नहीं करेंगे। किसी अन्य मामले के लिए, <datalist>
बहुत खराब ब्राउज़र समर्थन के कारण उपयोग की सिफारिश करना कठिन है।