2013-09-26 47 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