2013-09-26 49 views
0

我正在做下拉式表單,用戶必須首選,而不是使用ajax顯示下一個選項。它工作得很好。但我想爲dropodwns添加bootstrap格式,所以我安裝了bootstrap-select。它的工作也很好,但是當ajax事件呈現下一個數據時,他會將其呈現在新的下拉列表中,旁邊仍然是空的引導格式下拉列表。女巫,你怎麼預測,是不是想要的行動。這裏的代碼JSF:jsf ajax bootstrap dropdown render

<h:selectOneMenu styleClass="bootstrap-select" id="marka" value="#{searchBean.markiID}"> 
       <f:selectItems value="#{searchBean.listaMarek}" var="c" itemLabel="#{c.marka}" 
           itemValue="#{c.markaID}"/> 
       <f:ajax event="change" execute="marka" render="model"/> 
      </h:selectOneMenu> 

      <h:outputText value="#{msg.carModel}"></h:outputText> 
      <h:selectOneMenu styleClass="bootstrap-select" id="model" value="#{searchBean.modelID}"> 
       <f:selectItems value="#{searchBean.listaModeli}" var="p" itemLabel="#{p.model}" 
           itemValue="#{p.modelID}"/> 
       <f:ajax event="change" execute="model" render="liczbaDrzwi"/> 
      </h:selectOneMenu> 

enter image description here

在backingbean,當用戶選擇從第一個下拉smthging,產生項第二個下拉列表,等等。這是使選擇的結果:

enter image description here

正如你可以看到,AJAX使得全新的下拉列表中,填充,而不是已經存在。

感謝您的任何想法:)

回答

0

JSF Ajax的工作原理以這種方式...而不是填充已存在下拉... JEE的服務器發送一個新的HTML片段,以取代該下拉代碼... 也許你可以閱讀這個鏈接瞭解JSF生命週期... jsf lifeclycle

你嘗試使用primefaces或richfaces而不是h:selectOneMenu組件嗎?

這是一個PrimeFaces示例,您可以在其中選擇另一個下拉列表中的值時看到如何更新一個下拉列表... pf example