【发布时间】:2017-11-06 11:39:56
【问题描述】:
如果包含它的表单使用 f:ajax 重新呈现,则鼠标悬停时不会显示工具提示。
<h:form id="childForm">
<div class="form-body form-body-margin-top">
<div class="row form-group col-md-12">
<h:selectOneMenu styleClass="form-control" value="#{bean.someCondition}">
<f:selectItem itemLabel="Yes" itemValue="true" />
<f:selectItem itemLabel="No" itemValue="false" />
<f:ajax execute="@this" render="childForm" />
</h:selectOneMenu>
</div>
</div>
<t:div styleClass="row form-group col-md-12" rendered="#{!bean.someCondition}">
<label>Choose Catalog
<sup><h:outputText id="tip1" class="fa fa-info-circle blue"/></sup> <p:tooltip for="tip1" value="Choose a category" position="top right" />
</label>
</t:div>
<t:div rendered="#{bean.someCondition}">
<label>Hello
<sup><h:outputText id="tip2" class="fa fa-info-circle blue"/></sup> <p:tooltip for="tip2" value="Choose a name" position="top right" />
</label>
</t:div>
</h:form>
问题很简单: 首次加载页面时,在下拉菜单中选择“是”,“选择名称”的工具提示可见正常工作。 当我在重新呈现下拉表单中选择“否”时,“选择类别”的工具提示可见但不显示。 再次,如果我将其改回“是”,则“选择名称”的工具提示可见并且无法正常工作。
总结:工具提示仅在页面加载后才起作用,然后停止工作以进行后续重新呈现表单。 对我来说似乎是一个 DOM 问题。好像工具提示的“for”属性中的任何内容在重新渲染时在 DOM 中都不可用。有什么解决办法吗?
【问题讨论】:
-
我认为
renderd=是这里的错字?请确保有真实的代码...minimal reproducible example...如果您将t:div更改为面板或其他内容...
标签: ajax jsf primefaces