Javascript primefaces中的两个下拉菜单ajax刷新
我有一个复选框,用于呈现两个下拉式SelectOne菜单,第一个SelectOne菜单中的项目是静态的,但第二个SelectOne菜单应根据第一个菜单中的选择更新项目。我该怎么做呢 例如country and towns,当我在第一个菜单中选择UK时,我希望在第二个菜单中看到towns only from UKJavascript primefaces中的两个下拉菜单ajax刷新,javascript,jquery,ajax,primefaces,Javascript,Jquery,Ajax,Primefaces,我有一个复选框,用于呈现两个下拉式SelectOne菜单,第一个SelectOne菜单中的项目是静态的,但第二个SelectOne菜单应根据第一个菜单中的选择更新项目。我该怎么做呢 例如country and towns,当我在第一个菜单中选择UK时,我希望在第二个菜单中看到towns only from UK <h:selectBooleanCheckbox id="checkboxId" value="#{myBean.checkBoxSelected}" >
<h:selectBooleanCheckbox id="checkboxId" value="#{myBean.checkBoxSelected}" >
<p:ajax event="CheckBoxEvent" update="panelId" />
</h:selectBooleanCheckbox>
<h:panelGrid id="panelId" style="border:solid 1px black;" >
<h:outputText value="(country) First drop-down: " />
<p:selectOneMenu value="#{myBean.number}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItem itemLabel="UK" itemValue="1" />
<f:selectItem itemLabel="SUA" itemValue="2" />
<f:selectItem itemLabel="Italy" itemValue="3" />
</p:selectOneMenu>
<h:outputText value="(region) Second drop-down: " />
<p:selectOneMenu value="#{myBean.number}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItem itemLabel="country region 1" itemValue="1" />
<f:selectItem itemLabel="country region 2" itemValue="2" />
<f:selectItem itemLabel="country region 3" itemValue="3" />
</p:selectOneMenu>
</h:panelGrid>
尝试primeface的ajax事件:
<h:outputText value="(country) First drop-down: " />
<p:selectOneMenu value="#{myBean.number}">
<f:selectItem itemLabel="UK" itemValue="1" />
<f:selectItem itemLabel="SUA" itemValue="2" />
<f:selectItem itemLabel="Italy" itemValue="3" />
<p:ajax update="dropdown2" listener="#{myBean.handleDropDownChange}" />
</p:selectOneMenu>
<h:outputText value="(region) Second drop-down: " />
<p:selectOneMenu value="#{myBean.number}" id="dropdown2">
<f:selectItems value="#{myBean.regions}" />
</p:selectOneMenu>
我的豆子
private boolean checkBoxSelected=false;
public void CheckBoxEvent(ValueChangeEvent vcEvent){
checkBoxSelected = Boolean.valueOf(vcEvent.getNewValue().toString()).booleanValue();
}
private List<String> regions;
private int number;
public void handleDropDownChange(){
//based on the number provided, change "regions" attribute.
}
私有列表区域;
私有整数;
public void handleDropDownChange(){
//根据提供的编号,更改“区域”属性。
}