我有一个问题要Ajax更新ui:repeat。更新是从ui:repeat外部的commandButton触发的(请参见下面的代码)。需要可变的
priceHour 来计算其他价格(周,Monat ..)
<h:form id="myForm">
<ui:repeat id="alvs" var="alv" value="#{myBean.allV}" >
<h:panelGroup rendered="#{alv.status == 'ON'}" >
<div class="pricing">
<h:outputText styleClass="bold" value="#{alv.shortName}: "/>
<p:inputText value="#{alv.priceHour}" id="hour" required="true" >
<f:convertNumber pattern="#.##" type="currency" />
</p:inputText>
<p:inputText value="#{alv.priceDay}" id="day" >
<f:convertNumber pattern="#.##" type="currency" />
</p:inputText>
<p:inputText value="#{alv.priceWeek}" id="week" >
<f:convertNumber pattern="#.##" type="currency" />
</p:inputText>
<p:inputText value="#{alv.priceMonth}" id="month" >
<f:convertNumber pattern="#.##" type="currency" />
</p:inputText>
</div>
</h:panelGroup>
<p:messages />
</ui:repeat>
<p:commandButton value="Calculator" actionListener="#{myBean.priceCalc}" process="@this,alvs:hour" update="alvs" />
</h:form >
当我单击按钮时,什么也没有发生,并且ui:repeat和价格未更新。怎么了?
我也尝试过 更新“ myForm:alvs” , 更新“:myForm:alvs” :什么都没有!
我正在使用primefaces 3.5
预先感谢
ui:repeat
不是呈现的组件,因此您不会在HTML中看到任何有关它的信息。您无法更新未呈现的内容。另外,ui:repeat
甚至没有一个id
属性。
您需要将ui:repeat
组件包装在这样的组件中h:panelGroup
:
<h:panelGroup id="alvs">
<ui:repeat ...>
</ui:repeat>
</h:panelGroup>
并在您的按钮中更新面板组:
<p:commandButton value="Calculator" actionListener="#{myBean.priceCalc}" process="@this,alvs" update="alvs" />
请注意,:hour
由于您无法指定,我已将其删除,因此每次重复的ID都会有所不同。
更多信息 :
我有一个使用rowedit的p:datatable,可以正常工作,但是当您删除一个条目时,datatable没有更新。 xhtml
我正在使用Primefaces 3.3.1和Tomcat 7.0.22.0。我有p:dataTable,其中有p:inputtext。p:dataTable的id是“housetabid:tabview:form0:table”。这是从HTML源复制粘贴的。并且我让dialog(在dataTable所驻留的表单之外)通过p:dataTable中的按钮打开,并且该对话框中的p:CommandButt
JSF的 @ViewScoped不可用,因为它与CDI冲突 提交表单时,JSF动态呈现组件的值变为空 有条件呈现的输入组件不更新值 未调用CommandButton/CommandLink/Ajax操作/Listener方法或未更新输入值 我能想到导致这种行为的几种情况: “rendered”似乎是基于backing bean中的值重新计算的,而不是UI中给出的新值(如果默认为1,则提交时再次为1
我有一个功能组件,它用useState初始化一个状态,然后通过一个输入字段改变这个状态。 然后,我有一个useEffect钩子来模拟componentWillUnmount,以便在组件卸载之前,将当前更新的状态记录到控制台。但是,将记录初始状态,而不是当前状态。 这是我试图做的一个简单的表示(这不是我的实际组件): 我将状态初始化为“初始”然后我使用输入字段来改变状态,比如我键入“新文本”但是,当
我有一个带有两组按钮(功能和目标)的界面。当我点击一个按钮时,我希望它从一个团队转到另一个团队。我正在用react和redux实现这一点。我唯一的问题是,当状态更新并且我成功地记录了更新的状态时,除非我使用forceUpdate(),否则组件不会更新。我不明白的是,既然状态更新成功,组件不应该自动重新渲染吗? 一些js 正如您所看到的,当我单击一个按钮时,我触发updateLists函数,该函数将
我有一个带有单元格编辑的primefaces datatable,它可以在视图中的一个布尔变量上切换。 我有三个问题: 在编辑模式下,我更改了一个值,然后单击页面上的“保存”按钮,它不会保留新值,如果我先单击页面上的任何其他位置,然后单击“保存”,它将保留该值。如果您先单击“保存”,我需要它来保留值。 如果我编辑了一个输入文本的单元格,然后我单击了它,那么该字段现在就是一个输出文本,直到我再次单击