我有一个问题列表,我可以使用 ui:repeat 来显示它们,但是在单击 Edit 按钮后,重新呈现的 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 中显示一些内容 :-)
也许我没有正确使用?根据我目前的阅读,这似乎很好。
非常感谢你的协助。