मैं जेएसएफ में अपने ड्रॉपडाउन में संरचना जैसे पेड़ को प्रदर्शित करना चाहता हूं। असल में चुनिंदा आइटम पदानुक्रम में हैं और मैं ड्रॉपडाउन में यह स्पष्ट होना चाहता हूं।जेएसएफ ट्री ड्रॉपडाउन
क्या यह संभव है?
मैं जेएसएफ में अपने ड्रॉपडाउन में संरचना जैसे पेड़ को प्रदर्शित करना चाहता हूं। असल में चुनिंदा आइटम पदानुक्रम में हैं और मैं ड्रॉपडाउन में यह स्पष्ट होना चाहता हूं।जेएसएफ ट्री ड्रॉपडाउन
क्या यह संभव है?
तो, आप मूल रूप से एक एचटीएमएल <optgroup>
करना चाहते हैं? SelectItemGroup
का उपयोग करें।
JSF सेम (मैं JSF 1.x मान):
private String option; // +getter +setter
private List<SelectItem> options; // +getter
public Bean() {
options = new ArrayList<SelectItem>();
SelectItemGroup group1 = new SelectItemGroup("Group 1");
group1.setSelectItems(new SelectItem[] {
new SelectItem("Group 1 Value 1", "Group 1 Label 1"),
new SelectItem("Group 1 Value 2", "Group 1 Label 2"),
new SelectItem("Group 1 Value 3", "Group 1 Label 3")
});
options.add(group1);
SelectItemGroup group2 = new SelectItemGroup("Group 2");
group2.setSelectItems(new SelectItem[] {
new SelectItem("Group 2 Value 1", "Group 2 Label 1"),
new SelectItem("Group 2 Value 2", "Group 2 Label 2"),
new SelectItem("Group 2 Value 3", "Group 2 Label 3")
});
options.add(group2);
}
JSF दृश्य:
<h:selectOneMenu value="#{bean.option}">
<f:selectItems value="#{bean.options}" />
</h:selectOneMenu>
जनरेट किया गया एचटीएमएल उदाहरण:
<select name="j_idt6:j_idt7" size="1">
<optgroup label="Group 1">
<option value="Group 1 Value 1">Group 1 Label 1</option>
<option value="Group 1 Value 2">Group 1 Label 2</option>
<option value="Group 1 Value 3">Group 1 Label 3</option>
</optgroup>
<optgroup label="Group 2">
<option value="Group 2 Value 1">Group 2 Label 1</option>
<option value="Group 2 Value 2">Group 2 Label 2</option>
<option value="Group 2 Value 3">Group 2 Label 3</option>
</optgroup>
</select>
कैसे यह ब्राउज़र में दिखाई देते हैं:
+1! –
क्या यह selectManyMenu के लिए काम करता है ??? मैं इसे selectManyMenu में उपयोग करना चाहता हूं। – deepmoteria
बलुस चट्टानों !!! – arthur
मुझे यकीन नहीं है कि मैं समझ रहा हूं कि आप क्या पूछ रहे हैं। मान लीजिए कि आप मेनू में उप श्रेणियों को थोड़ा इंडेंट करना चाहते हैं? यदि ऐसा है, सर्वर-साइड/हैंडलर से पहले से ही "& nbsp" (स्पेस) या "-" के साथ पार्स किए गए आइटमों की सरणी से भेजने के बारे में।
दूसरे शब्दों में, आप श्रेणी पदानुक्रम को पार्स और समझने के लिए जावास्क्रिप्ट का उपयोग नहीं कर सकते हैं। आपके पास 2 विकल्प हैं - या तो जेएसएफ के माध्यम से रिकर्सन चलाएं (यूआई व्यक्ति के लिए बदसूरत और बदसूरत लगता है, जो पेज को डिज़ाइन करने की ज़रूरत है), या सर्वर पक्ष पर सॉर्टिंग करें, जेएसएफ को अशिष्ट इंडेंट प्रविष्टियों के साथ प्रदान करें।
आशा इस मदद करता है,
Yishai
हाँ आपने मुझे सही पाया है, मेरे विकल्प श्रेणियों में समूहित हैं और प्रत्येक श्रेणी में उनके अंतर्गत कुछ विकल्प भी हैं। Optgroup के लिए –
लेकिन नेस्टेड समूहों को सही ढंग से कल्पना नहीं की जाती है। वे आइटम के रूप में नहीं समूह के रूप में दिखाई देते हैं। कॉम्बो बॉक्स में
पेड़। मैं इसका उपयोग कल्पना नहीं कर सकता, क्या आप विस्तृत कर सकते हैं] –
मुझे लगता है कि वह वास्तव में 'एच: selectOneMenu' में ड्रॉपडाउन का मतलब है, combobox नहीं (जो एक संपादन योग्य ड्रॉपडाउन है)। – BalusC