ajax 事件期间未更新 Primefaces 组件
Primefaces component not being updated during ajax event
我将 JSF 2.2 与 PrimeFaces 6.1 一起使用,并且为了进行 "optional" 验证,每次 p:inputNumber 失去焦点时,都会更新并呈现 p:button或不基于特定的验证方法:
<div class="ui-grid-col-2">
<p:inputNumber id="quantidade" value="#{vendaMB.quantidadeItem}" decimalPlaces="1" minValue="0.0" onfocus="this.setSelectionRange(0, this.value.length)">
<p:ajax event="blur" process="@this" update="btnImgQtdeUltrapassa"/>
</p:inputNumber>
</div>
<div class="ui-grid-col-1">
<p:button id="btnImgQtdeUltrapassa" title="Quantidade inserida ultrapassa quantidade em estoque" disabled="true" icon="fa fa-fw fa-warning" rendered="#{vendaMB.verificaQtdeEstoque()}" styleClass="btn-round"/>
</div>
奇怪的是,当我使用update="@form"
时,更新是完美的,但是有其他过程和方法不能在这个表单更新上重新执行,因此,我不能使用这个方法.有人可以帮我解决这个问题吗?
此外,我正在使用 "p:button",但实际上我只需要图标和类似于其 "title" 属性的内容。如果您还可以建议我使用另一种标签或方法来代替此 "improvised icon".
,我将不胜感激
您不能对可能有条件呈现的项目执行 "update="。如果未呈现,则无法更新它。
只需这样做:
<h:panelGroup id="updateme">
<p:commandButton rendered="#{bean.condition}"/>
</h:panelGroup>
现在您可以使用
<p:ajax update="updateme"/>
我将 JSF 2.2 与 PrimeFaces 6.1 一起使用,并且为了进行 "optional" 验证,每次 p:inputNumber 失去焦点时,都会更新并呈现 p:button或不基于特定的验证方法:
<div class="ui-grid-col-2">
<p:inputNumber id="quantidade" value="#{vendaMB.quantidadeItem}" decimalPlaces="1" minValue="0.0" onfocus="this.setSelectionRange(0, this.value.length)">
<p:ajax event="blur" process="@this" update="btnImgQtdeUltrapassa"/>
</p:inputNumber>
</div>
<div class="ui-grid-col-1">
<p:button id="btnImgQtdeUltrapassa" title="Quantidade inserida ultrapassa quantidade em estoque" disabled="true" icon="fa fa-fw fa-warning" rendered="#{vendaMB.verificaQtdeEstoque()}" styleClass="btn-round"/>
</div>
奇怪的是,当我使用update="@form"
时,更新是完美的,但是有其他过程和方法不能在这个表单更新上重新执行,因此,我不能使用这个方法.有人可以帮我解决这个问题吗?
此外,我正在使用 "p:button",但实际上我只需要图标和类似于其 "title" 属性的内容。如果您还可以建议我使用另一种标签或方法来代替此 "improvised icon".
,我将不胜感激您不能对可能有条件呈现的项目执行 "update="。如果未呈现,则无法更新它。 只需这样做:
<h:panelGroup id="updateme">
<p:commandButton rendered="#{bean.condition}"/>
</h:panelGroup>
现在您可以使用
<p:ajax update="updateme"/>