2013-04-28 3 views
0

У меня есть следующие компоненты:Как обновить элементы JSF SelectManyListBox из выбранного элемента в SelectOneMenu?

     <h:selectOneMenu id="company" 
           value="#{companyController.selected.companyId}" 
           onchange="?????????"> 

        <f:selectItems value="#{companyController.itemsAvailableSelectOne}"/> 
       </h:selectOneMenu> 

       <h:outputLabel value="some value" for="locations" /> 

       <h:selectManyListbox id="locations" > 
        <f:selectItems value="#{companyController.selected.locationCollection}"/> 
       </h:selectManyListbox> 

Каждый раз, компания выбрана в SelectOneMenu мне нужно обновить элементы в SelectManyListBox.

Пожалуйста, помогите мне

спасибо!

ответ

1

Вы хотите использовать <f:ajax>. Возможно, что-то вроде этого:

  <h:selectOneMenu id="company" 
          value="#{companyController.selected.companyId}"> 
       <f:ajax event="valueChange" execute="@this" render="@this locations" /> 
       <f:selectItems value="#{companyController.itemsAvailableSelectOne}"/> 
      </h:selectOneMenu> 

      <h:outputLabel value="some value" for="locations" /> 

      <h:selectManyListbox id="locations" > 
       <f:selectItems value="#{companyController.selected.locationCollection}"/> 
      </h:selectManyListbox> 

Затем вы можете изменить ваши selected объектов setCompanyId метода для обновления locationCollection:

public void setCompanyId(long companyId) { 
    this.companyId = companyId; 
    // now update your location collection 
    this.locationCollection = locationCollectionMap.get(companyId); 
} 
+0

не работает, большое спасибо, любые другие идеи? –

+0

получил это благодаря работе !!!! –

Смежные вопросы