我使用的是primefaces 3.5,我在数据表的一列中有一个p:selectonemenu。另外,我在同一个datatable的另一列上有一个submit按钮。当我执行提交操作时,行将被删除。在这里,当我选择' other‘然后执行提交操作并更新表单时,其他行中的p:selectonemenu项将获取'other’作为第一个值。如何将“other”设置为每次的最后一个值
<p:column headerText="Buyer Response" style="white-space:pre-line;">
<p:selectOneMenu value="#{buyerInProcessBean.subject}"
id="buyerResponseId" >
<f:selectItems
value="#{buyerInProcessBean.subjectMap[trans.decisionrule.ruleId]}"
var="subject" itemLabel="#{subject}" itemValue="#{subject}"></f:selectItems>
<f:selectItem itemLabel="Other" itemValue="Other" ></f:selectItem>
</p:selectOneMenu>
</p:column>发布于 2013-03-20 20:49:49
因为你有
<p:selectOneMenu value="#{buyerInProcessBean.subject}">主题在所有行之间共享,当然,其他选择菜单将具有与所选菜单相同的值(在您的情况下为其他)。为此,我建议一个简单的解决方法,您必须将subject属性移动到您正在迭代的对象。
另一个修复方法是,在提交时执行完方法后,将subject属性设置为"Other“。但是这样一来,即使是更改后的selectmenu也会丢失"Other“作为值。
因此,总而言之,您必须更改您的逻辑,以便主题不会在行之间共享
https://stackoverflow.com/questions/15523303
复制相似问题