SelectOneMenu更新其他SelectOneMenu

我想在选择第一个SelectOnMenu的任何项目时更新第二个SelectOneMenu。 就像现在一样,我从ManagedBean获取SelectOneMenus的值。 我想我要使用AJAX(jquery)将参数发送到ManagedBean。

 
... ... ...

实际上,您可以使用在selectOneMenu的值更改时调用的ValueChangeListener:

    

然后,在你的bean中你有这个方法:

 public void selectOneMenuListener(ValueChangeEvent event) { //This will return you the newly selected //value as an object. You'll have to cast it. Object newValue = event.getNewValue(); //The rest of your processing logic goes here... } 

要更新页面,您可以将onchange="submit()" 。 对于某些部分渲染,您可以尝试添加此而不是onchange="submit()"

     

如果我没弄错的话,你会想要获得第一个菜单中所选元素的id,并根据它填充第二个元素。 然后,您可以渲染另一个selectOneMenu,或者,如果需要,还可以渲染包含表单一部分的面板。

Primefaces具有您想要实现的function。 它已经在使用Ajax了,所以不必担心自己编写代码。