मेरे पास एक सुरुचिपूर्ण समाधान नहीं है, लेकिन यह किया जा सकता है। मैं जेएसएफ 2+ & फेसलेट वीडीएल मान रहा हूं।
एक प्रबंधित सेम Foo
के लिए:
@ManagedBean @RequestScoped
public class Foo {
private List<SelectItem> fooList = Arrays.asList(
new SelectItem("value1", "label1", "description1"),
new SelectItem("value2", "label2", "description2"));
public List<SelectItem> getFooList() {
return fooList;
}
}
आप डोम नोड पर title
विशेषता निर्धारित करने JavaScript का उपयोग कर सकते हैं:
<h:selectOneMenu binding="#{requestScope.fooSelectOne}">
<f:selectItems value="#{foo.fooList}" />
</h:selectOneMenu>
<script>
(function() {
var selectName = '#{requestScope.fooSelectOne.clientId}';
var kids = document.getElementsByName(selectName)[0]
.getElementsByTagName("option");
var index = 0;
<ui:repeat value="#{foo.fooList}" var="_opt">
kids[index++].title = '#{_opt.description}'; //TODO: escape this
</ui:repeat>
}());
</script>
"आपके पास HTML में सादा विकल्प टैग में यह विशेषता है" - इसकी व्यापक स्वीकृति काफी हाल ही की बात है, यह केवल suppo है जहां तक मैं कह सकता हूं आईई 9 और ऊपर से rted। यदि पहले से कोई नहीं है, तो javaserverfaces.java.net पर जेएसएफ जिरा में एक फीचर अनुरोध शायद एक बुरी चीज नहीं है। – Gimby