【发布时间】:2015-06-23 11:36:50
【问题描述】:
我有一个<p:selectOneMenu>,您可以在其中选择一个级别;填充有一个列表,当单击其中一个<f:selectItems> 然后使用<p:ajax> 我用另一个列表更新我的<p:selectManyMenu> 条目。我希望它默认选择该条目列表中的第一个元素并标记它,这不是发生的情况。
实际情况是,它采用保存在属性submittedValue 中的旧值并使用该属性中存储的值,这在当前列表中不存在,因此没有标记。
selectOneMenu
<p:selectOneMenu id="levelSelection" style="width:342px;text-align:left"
panelStyle="width:180px"
value="#{cc.attrs.agOptionObj.levelTemp}"
onchange="onLevelSelectionChange(this), updateChild();"
panelStyleClass="auto-close-panel"
converter="lyngsoe.catellae.converter.LongOptionConverter"
rendered="#{!cc.attrs.agOptionObj.hidePartitionSelection}">
<f:selectItems
value="#areaGroupSelection.getLevelsForHierarchy
(cc.attrs.agOptionObj,
cc.attrs.controller.model.periodSelectionOption,
cc.attrs.controller.reportName)}"
var="levelOpt"
itemLabel="#{levelOpt.text}"
itemValue="#{levelOpt}"/>
<p:ajax
update="levelEntries"
listener="#{areaGroupSelection.levelChanged
(cc.attrs.agOptionObj,
cc.attrs.controller.model.periodSelectionOption)}"
partialSubmit="true"/>
</p:selectOneMenu>
selectManyMenu
<p:selectManyMenu id="levelEntries"
value="#{cc.attrs.agOptionObj.entriesTemp}"
style="width:342px;text-align:left;height:150px"
onchange="onEntriesSelectionChange(this);"
converter="lyngsoe.catellae.converter.StringOptionConverter"
rendered="#{!cc.attrs.hidePartitionSelection}"
required="true"
requiredMessage="#{msg['areaGroupSelection.areaError']}">
<f:selectItems
value="#{areaGroupSelection.getHierarchyNodesAtLevel
(cc.attrs.agOptionObj,
cc.attrs.controller.model.periodSelectionOption)}"
var="entryOpt" itemLabel="#{entryOpt.text}" itemValue="#
{entryOpt}"/>
</p:selectManyMenu>
我已阅读并尝试了以下链接:
- https://stackoverflow.com/a/21789675/3430698
- https://stackoverflow.com/a/13420257/3430698
- https://stackoverflow.com/a/17755007/3430698
- http://www.primefaces.org/showcase/ui/misc/resetInput.xhtml
- http://blog.primefaces.org/?p=2745
我不确定,我正在寻找的是使用以下之一:
澄清一下:我需要能够从我的<p:selectOneMenu> 中进行选择,然后填充我的<p:selectManyMenu> 并且将<p:selectManyMenu> 中的第一个元素默认选中。
如果需要进一步澄清,请写信 - 我会像鹰一样监视这篇文章。
【问题讨论】:
-
有了这些链接,你的意思是说
<p:ajax resetValues="true">不起作用? -
primefaces 中有类似的吗? showcase.omnifaces.org/eventlisteners/… ? @BalusC:将仔细检查
-
@BalusC 我又试了一次,这次成功了——起初我遇到了某种 og gui 故障;无法复制它,所以我相信它是有效的。
标签: jsf-2 primefaces