2014-02-12 2 views
0

Мы используем JSF 1.2 для нашего проекта. Требование - обновить другие опции selectonemenu, основанные на изменении стоимости в текущем selectonemenu.Обновить другой компонент, основанный на изменении значения selectonemenu

На основе опции select1 select2 необходимо обновить.

<h:selectOneMenu id="select1" value="#{subscription.subscriptions}" onchange="javascriptMethod()"> 
    <f:selectItem id="item1" itemLabel="News" itemValue="1" /> 
    <f:selectItem id="item2" itemLabel="Sports" itemValue="2" />   
</h:selectOneMenu> 

<h:panelGroup id="panel2"> 
<h:selectOneMenu id="select2" value="#{subscription.subscriptions2}"> 
    <f:selectItem id="item1" itemLabel="News" itemValue="1" /> 
    <f:selectItem id="item2" itemLabel="Sports" itemValue="2" />   
</h:selectOneMenu> 
</h:panelGroup> 

ответ

0

Вы можете использовать Ajax поддержку как этот

<h:selectOneMenu id="select1" value="#{subscription.subscriptions}" > 
    <f:selectItem id="item1" itemLabel="News" itemValue="1" /> 
    <f:selectItem id="item2" itemLabel="Sports" itemValue="2" /> 


</h:selectOneMenu> 

JSF 1.2 не поддерживают Ajax единственное, что вы можете сделать, это полная перезагрузки страницы, которая происходит на командной кнопке.

Предполагалось, что вы используете богатые интерфейсы как сторонние компоненты для ajax и богатых компонентов ui. Надеюсь, это поможет.

Если вы используете primefaces, то вы можете заменить тег как этот

<p:ajax event="onchange" update="select2" action="if you want to anything in 
                     backend"/> 

Если вы хотите сделать с помощью JavaScript, то есть скрытый час: метод CommandButton и поместите код в
javascriptMethod() как это

 document.getElementById("myHiddenButtonId").click(); 
Смежные вопросы