![](/img/trans.png)
[英]h:inputText inside ui:repeater displays wrong value after an ajax update
[英]JSF ui:repeat and f:ajax giving wrong value for h:inputText after rerender
我有一個問題列表,可以使用ui:repeat很好地顯示它們,但是在單擊“編輯”按鈕后,重新渲染的inputText被賦予錯誤的question.id。 由於某些原因,如果在第一項上單擊“編輯”,則分配的inputText值是列表中第二項的值,即使其他輸出(h:inputText元素除外)也是正確的。
<h:form id="questionnaireForm">
<ui:repeat value="#{ProjectManager.currentProject.preQuestions}" var="question" varStatus="current"
id="preQuestionsRepeat">
<div>
<ui:fragment rendered="#{!question.editing}">
<f:ajax render="@form">
<p>#{question.id} #{question.questionText}</p>
<h:inputText value="#{question.id}"/>
<h:commandLink styleClass="link"
action="#{question.setEditing}"
value="Edit">
</h:commandLink>
</f:ajax>
</ui:fragment>
</div>
<div>
<ui:fragment rendered="#{question.editing}">
<f:ajax render="@form">
<p>#{question.id} #{question.questionText}</p>
<h:inputText value="#{question.id}"/>
</f:ajax>
</ui:fragment>
</div>
</ui:repeat>
</h:form>
顯然,我真的不想編輯ID。 我只想要正確的問題。某些東西會出現在我的inputText中:-)
也許我沒有正確使用? 根據我到目前為止的閱讀情況,這似乎還不錯。
非常感謝你的協助。
您是否正確重寫了equals()和hashCode()? 這些方法用於從您選擇的列表中提取值。 它拉出與equals()運算符匹配的第一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.