Amigos,
Em minha aplicação eu possuo uma lista de selectOneRadio e um SelectOneListBox. Desejo que, quando eu clicar (escolher) em um determinado radio, os selectItems do selectOneListBox sejam filtrados para aquela opçao.
Ou seja: Se escolho o primeiro radio --> filtra os campos no listBox para aquele primeiro radio…Se escolho o segundo radio --> filtra os campos no listBox para aquele segundo radio… e assim sucessivamente.
Como implementar isto? Quando eu executo meu código, ele não preenche meu listBox. Ele apenas recarrega a página. Meu código jsf esta assim:
<h:selectOneRadio onchange="submit()" value="#{DhcpParameterBean.changedDhcp}"
layout="pageDirection" valueChangeListener="#{DhcpParameterBean.filterKeywordType}">
<f:selectItems value="#{DhcpParameterBean.itemsParameter}"/>
</h:selectOneRadio>
<h:outputText value="Keyword" />
<h:selectOneListbox id="teste" size="1" value="#{DhcpParameterBean.changeTipoKeyword}" ">
<f:selectItems value="#{DhcpParameterBean.itemskeywords}" />
</h:selectOneListbox>
public void filterKeywordType() throws DAOException{
int i = 0;
switch (this.changedDhcp) {
case 0:
for(String keywords : this.dhcpDAO.getKeyords("parameters") ){
this.itemskeywords.add(new SelectItem(new Integer(i).toString(),
keywords, "keywords", false));
i++;
}
break;
case 1:
for(String keywords : this.dhcpDAO.getKeyords("options") ){
this.itemskeywords.add(new SelectItem(new Integer(i).toString(),
keywords, "keywords", false));
i++;
}
break;