2016-11-03 5 views
-1
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     > 

    <h:body> 



     <h1>JSF 2 example</h1> 

     <h:form id="form1"> 

      <h3> 
       <h:outputText value="#{msg['welcome.jsf']}" /> 
      </h3> 


      <h:panelGrid columns="2"> 

       Language : 
       <h:selectOneMenu id="combo1" value="#{language.localeCode}" onchange="submit()" 
        valueChangeListener="#{language.countryLocaleCodeChanged}"> 

       <f:selectItems value="#{language.countriesInMap}" title="#{language.localeCode}" /> 

       </h:selectOneMenu> 

      </h:panelGrid> 


     </h:form> 

     <h:form id="form11"> 

      <h:panelGrid columns="2"> 

       Language : 
       <h:selectOneMenu id="combo11" value="#{language.localeCode}" onchange="submit()" 
        valueChangeListener="#{language.countryLocaleCodeChanged}"> 

       <f:selectItems value="#{language.countriesInMap}" title="#{language.localeCode}" /> 

       </h:selectOneMenu> 

      </h:panelGrid> 


     </h:form> 
     <script> 
    window.onload = function(var var1,var var2) { 
     var var1="form1"; 
     var var2="combo1"; 

     var options = document.getElementById(var1+":"+var2).options; 
     for(var i = 0; i &lt; options.length; i++) { 
        options[i].title = "#{msg['welcome.jsf']}"; 
     } 
    } 
    </script> 
    </h:body> 
</html> 

私は上記のxhtmlコードを使用して2つのドロップダウンを作成しています。 上記のJavaScript関数を使用して、最初のドロップダウン要素のツールヒントを作成できます。 2番目のドロップダウン要素のツールチップを作成するには、上記のJS関数を呼び出す必要があります。これは、フォームのidとselectItemsをパラメータとして関数に渡します。 どうすればいいですか?JSFのドロップダウン要素のツールチップを追加

+0

オフトピック: 'onchange =" submit() "はJSFの珍しい構文です。 – Kukeltje

答えて

0

以上のことは、「タイトル」タグを使用して上記のコードを変更することによって達成することができます以下のようなselectonemenuタグ内で:

0

あなたがすべてではJavaScriptを必要としないので、あなたは、パススルーを使用することができますJSF 2.2を使用している場合:

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:h="http://java.sun.com/jsf/html" 
xmlns:f="http://java.sun.com/jsf/core" 
xmlns:ui="http://java.sun.com/jsf/facelets" 
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"> 

<!-- your other code --> 

Language : 
    <h:selectOneMenu id="combo1" value="#{language.localeCode}" onchange="submit()" valueChangeListener="#{language.countryLocaleCodeChanged}">  
      <c:forEach value="#{language.countriesInMap}" var="language"> 
       <f:selectItem itemLabel="#{language.countriesInMap}" itemValue="#{language.localeCode}" pt:title="#{msg['welcome.jsf']}"/>  
      </c:forEach> 
    </h:selectOneMenu>  
</h:panelGrid> 

<!--...second menu like the first one --> 
+0

私はJSF 2.0を使用しています – vinayaka

関連する問題