【问题标题】:p:selectOneMenu does not workp:selectOneMenu 不起作用
【发布时间】:2013-05-04 14:42:31
【问题描述】:

我正在使用 Primefaces 3 开发应用程序,而 p:selectOneMenu 只是不起作用。

第一个选项总是被选中,当我按下右侧的下拉按钮时,没有任何反应。 h:selectOneMenu 工作得很好,但我想要 primefaces 组件的样式。

<h:form>
  <!-- Country-->
  <div class="control-group">
    <label class="control-label">Country</label>
    <div class="controls">
      <p:selectOneMenu value="#{userService.sessionBean.currentUser.country}">
        <f:selectItem itemLabel="Austria" itemValue="Austria" />
        <f:selectItem itemLabel="Germany" itemValue="Germany" />
        <f:selectItem itemLabel="Italy" itemValue="Italy" />
      </p:selectOneMenu>
    </div>
  </div>
  <div class="form-actions">
    <p:commandButton type="submit" id="submitButton" action="#{userService.update()}" value="Update your Profile" styleClass="btn btn-primary btn-large" ajax="false">
      <f:param name="update" value="true" />
    </p:commandButton>
  </div>
</h:form>

我什至从 primefaces 主页复制了展示示例,但它仍然无法正常工作。我也在朋友的电脑上测试了这个,并在 Ubuntu 和 Mac OS X 上使用了 firefox 和 chrome。

这是我的 Primefaces 版本 (3.5) 的问题吗?

【问题讨论】:

  • 我刚刚用 Primefaces 的 selectOneMenu 进行了测试,它工作正常,所以你的意思是“p:selectOneMenu 不起作用”?
  • 请提供更多信息,以便问题更容易回答。有没有抛出异常?确保 #{userService.sessionBean.currentUser.country} 不会引发任何 Nullpointer 异常。你的 Backing Bean 是什么样的?
  • +1 在 PF 4.0 SNPSHT 和 myfaces 2.1.11/tomcat 上也不适用于我,没有异常/错误.. 只是无响应的下拉菜单.. h:selectoneMenu 工作正常
  • 我有同样的问题(JSF 2.2,PrimeFaces 4.0)。当我使用 p:selectOneMenu 和 f:selectItems 时,下拉列表没有响应。如果我用 h:selectOneMenu 替换 p:selectOneMenu,它工作正常。
  • 对我来说也有同样的行为:MyFaces 2.0.8 和 PrimeFaces 5.1 - 显示下拉列表时选择了列表中的第一项,但单击它不会下拉列表。浏览器开发者工具在渲染的选择元素上显示选项列表,但它的行为就像它被禁用一样。

标签: jsf drop-down-menu primefaces


【解决方案1】:

我在一年多前评论过这个问题,但在寻找解决方案时遇到了同样的问题并再次发现了这篇文章。

在我的情况下,解决方法是该页面导入了旧版本的 jQuery (1.11.2),该版本与 PrimeFaces 使用并导入页面的 jQuery 发生冲突。

我删除了我的 jQuery 导入,p:selectOneMenu 现在下拉并按预期工作。

【讨论】:

  • 是的,我也一样。我将 jQuery 作为另一个 CSS 组件的一部分包含在内,它阻止了 primefaces p:selectOneMenu 的下拉工作。正常的 JSF 仍然可以工作 h:selectOneMenu
  • 在我的例子中,我使用的是 Bootstrap 和 JQuery 3.3.1 Slim,禁用 JQuery form Bootstrap 这个问题就解决了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多