2011-01-20 15 views
11

<option> तत्व में एकाधिक लाइनों का कोई तरीका है?क्या आपके पास <option> तत्व में एकाधिक लाइनें हो सकती हैं?

------------------------- 
| Normal <option> element | 
------------------------- 
| <option> element broken | 
| onto two lines   | 
------------------------- 
| Normal <option> element | 
------------------------- 

वहाँ किसी भी HTML/CSS दृष्टिकोण है, या मैं जावास्क्रिप्ट का उपयोग करना चाहिए:

इस तरह

?

+0

क्या एक विकल्प तत्व में कई पंक्तियों से मतलब है? – Vivek

+0

आम तौर पर आपके द्वारा चुने गए विकल्प तत्व में एक पंक्ति होती है, मैं उस तत्व में दो पंक्तियां रखना चाहता हूं, उदाहरण के लिए प्रत्येक विकल्प में 2 लाइनें –

+1

जावास्क्रिप्ट का उपयोग करें। –

उत्तर

5

यह <option></option> तत्व के अंदर HTML टैग प्रदर्शित करने का एक विशेष मामला है। जहां तक ​​मुझे पता है, ब्राउज़र इस क्षेत्र में बहुत अलग व्यवहार करते हैं (फ़ायरफ़ॉक्स भी छवियों को प्रदर्शित करता है, अन्य ब्राउज़र अधिकांश या सभी टैग को अनदेखा करते हैं) और क्रॉस-ब्राउज़र समाधान नहीं है। आपको शायद इसे जावास्क्रिप्ट और एक अलग मार्कअप के साथ अनुकरण करने की आवश्यकता होगी।

http://www.w3.org/TR/2011/WD-html-markup-20110113/option.html पर वे कहते हैं:

अनुमति सामग्री: सामान्य चरित्र डेटा

... जो http://www.w3.org/TR/2011/WD-html-markup-20110113/syntax.html#normal-character-data

में परिभाषित किया गया है कल्पना को समझने के लिए मुश्किल है, हमेशा की तरह, लेकिन मैं समझता हूं कि आप एक शाब्दिक < (यानी, एक HTML टैग जैसे <br>) सम्मिलित नहीं कर सकते हैं। मुझे नहीं पता कि यह रिक्त स्थान के साथ व्यवहार को परिभाषित करता है लेकिन अधिकांश ब्राउज़र इसे ध्वस्त करने लगते हैं।

4

चयन के साथ समस्या यह है कि वे वेब फॉर्म तत्वों के विपरीत ओएस फॉर्म तत्व हैं। यही कारण है कि कुछ ब्राउज़रों में उन्हें स्टाइल करना संभव नहीं है (खांसी ... आईई 6) अन्य इनपुट के विपरीत। क्या आपने इसे कहीं भी एक उदाहरण देखा है? चूंकि ऑपरेटिंग सिस्टम इसे समायोजित नहीं करता है, ब्राउज़र भी नहीं होगा।

मैं यह भी इंगित करता हूं कि यह बहुत उपयोगकर्ता के अनुकूल नहीं है। उपयोगकर्ताओं को सिंगल लाइनों पर विकल्पों वाले एक चयन बॉक्स के विचार के लिए उपयोग किया जाता है। यदि आप उन्हें कई लाइनों पर रखना शुरू करते हैं, तो आप चुनिंदा बॉक्स की उपयोगिता और अंतर्निहित पहुंच के अनाज के खिलाफ जा रहे हैं। यह मार्ग लेना शायद इतना अच्छा विचार नहीं हो सकता है।

बस मेरी राय है, लेकिन उम्मीद है कि यह समझ में आता है।

+0

चूंकि यह उत्तर लगभग 3.5 वर्ष पुराना है, अब मैं जोड़ूंगा कि चयन बॉक्स को पुन: स्थापित करने के लिए कई जेएस पुस्तकालय हैं। इनमें से कुछ, अपनी प्रकृति के कारण, दो विकल्पों पर चयन विकल्पों को मजबूर करेंगे। यदि यह अभी भी लोगों के लिए चिंता का विषय है, तो यह एक विकल्प हो सकता है। बस ध्यान रखें कि स्टाइलिंग libs के बहुत सारे आईओएस या एंड्रॉइड पर समर्थित नहीं हैं। – tadywankenobi

4

मुझे डर नहीं है। ब्राउज़र <option> तत्वों के अंदर न्यूलाइन वर्णों और HTML <br> टैगों को अनदेखा करते हैं, और मुझे नहीं लगता कि जावास्क्रिप्ट इस पाठ को कैसे प्रकट करता है इसका उपयोग करने के लिए कोई तरीका प्रदान करता है।

3

नहीं, आपको ऐसी चीज़ के लिए कस्टम ड्रॉप डाउन सूची बनाना होगा।

jQuery इनमें से बहुत सारे प्रदान करता है; आप संभवतः प्राप्त करने के लिए विशिष्ट विकल्पों के लिए height को परिभाषित करने के लिए सीएसएस का उपयोग कर सकते हैं।

6

यह आप क्या चाहते हैं नहीं हो सकता है, लेकिन आप , विकल्प के अनुसार दो पंक्तियों प्राप्त कर सकते हैं "optgroup" टैग, उदा, का उपयोग करके:

<select> 
    <optgroup label="Click below for 'yes'"> 
    <option value="yes">Yes</option> 
    </optgroup> 
    <optgroup label="Click below for 'No'"> 
    <option value="no">No</option> 
    </optgroup> 
</select> 
+1

यह एक विकल्प को दो लाइनों पर अलग करने की अनुमति नहीं देगा –

+0

हॉटकी, सख्ती से आप सही कह रहे हैं। मैंने जो सुझाव दिया है वह दो लाइनों पर एक विकल्प को विभाजित करने का प्रभाव देता है (http://jsfiddle.net/elusien/Sqc6Z/ देखें)। जो भी विकल्प उपयोगकर्ता चुनता है, केवल दूसरी पंक्ति लौटा दी जाती है। मेरी रक्षा में मैंने कहा था कि यह वांछित नहीं हो सकता है। – Neil

+0

वास्तव में, आप विकल्प को विभाजित करने और समूह को हटाने का विचार एक बुरा विचार नहीं लग रहा है। लेकिन ऐसा कह रहा है, यह डेटा स्रोत के साथ कैसे काम करेगा? –

संबंधित मुद्दे

 संबंधित मुद्दे