onChange for a selectItem
I am new to JSF ( done a lot of struts/JSTL though )
I am trying to get a dataTable displayed with onChange event from a dropdown menu.I have been succesful with a submit button but I guess things are different in the JSF world when it comes to JS events like onChange .Do I need "listeners" for this.Could I get an example...
# 1
Not sure but I think it's something like:
JSP:
<h:selectOneRadio value="#{mgdBean2.currentSearchType}"
immediate="true" onclick="this.form.submit()"
valueChangeListener="#{mgdBean2.changeSearchType}">
<f:selectItems value="#{mgdBean2.allSearchTypes}"/>
</h:selectOneRadio>
Bean:
public void changeSearchType(ValueChangeEvent evt)
{
String newSearchTypeValue = evt.getNewValue().toString();
if (newSearchTypeValue.equals(KEYWORD_VAL))
{
setKeywordSearch(true);
}
else if (newSearchTypeValue.equals(AUTHOR_VAL))
{
setAuthorSearch(true);
}
FacesContext.getCurrentInstance().renderResponse();
}
Hope it's of some use, it's straight out of some training material we have lying around!
Illua at 2007-7-7 17:41:30 >

# 2
Hi,
1.For a dropdown menu you'd rather use a h:selectOneMenu.
2.use a valueChangeListener to toggle a certain property which is binded to your table rendered property.
3.use javascript as stated above to submit the form
<h:selectOneMenu valueChangeListener="#{bean.toggleTableRendered}" onchange="this.form.submit()">
<f:selectItems...>
</h:selectOneMenu>
<h:dataTable rendered="#{bean.tableRendered}">
....
</h:dataTable>