【发布时间】:2014-09-04 10:00:55
【问题描述】:
p:selectOneMenu 上的选择将使用屏幕名称和屏幕缩略图更新 screen_prop 面板。但是 screen_prop 的 ajax 更新在单击 h:graphicImage 后停止工作一次,这会触发 window.open 以在新选项卡中显示图像。
screenBean 和 pageBean 都具有 SessionScoped。
对发生的事情有任何想法吗? 谢谢。
<p:panelGrid id="panel">
<h:form id="form">
<p:selectOneMenu id="screen_selection" value="#{screenBean.selectedScreenId}">
<f:selectItems
value="#{pageBean.screenIds}" var="scr"
itemLabel="#{scr.name}" itemValue="#{scr.id}" />
<p:ajax
update=":screen_prop"
listener="#{pageBean.handleSelection}" />
</p:selectOneMenu>
</h:form>
</panelGrid>
<panelGrid id="screen_prop">
<h:outputText id="screen_name" value="#{screenBean.selectedScreenName}"/>
<h:graphicImage
value="#{screenBean.getThumbnail(screen.id)}"
onclick="window.open('screenshot.xhtml?screen_id=#{screen.id}'); return false" />
</panelGrid>
【问题讨论】:
-
嗨,有或没有“return false”。它不能正常工作:(我昨天试过了。
标签: ajax primefaces window.open selectonemenu