p:commandButton否定另一个p:commandButton

时间:2015-03-26 11:26:25

标签: ajax jsf primefaces

首先让我说我至多是一个中级JSF编码器。 现在我在当前项目中有一些奇数问题,并且它真的开始找到我了。

环境正在创造足球比赛。

我有3个玩家列表。想法是用户从第一个列表中选择一个玩家,然后按下“Benched”按钮将玩家添加到长凳列表或“Starting”按钮以选择玩家位置然后将玩家添加到起始列表

(我会张贴一张照片,但我不允许:()

现在我的问题是每当我使用“开始”按钮时,它会使“Benched”按钮完全无用(我没有错误,但是没有调用action方法)。所以我可以添加尽可能多的球员到替补席开始,但是当我按下“开始”按钮时我就无法替补更多球员。我仍然可以使用“开始”按钮。

这是我的代码:

<h:form id="matchForm">
    <h:panelGroup id="updatePlayers">
        <div class="myContainer">
            <div class="myMatchBox">
                <h:outputLabel value="Pick a player:" />
                <p:selectOneListbox styleClass="heightClassPick myEditMatchPlayers myPickListOnEditMatches" filter="true" filterMatchMode="contains">
                    <f:selectItems value="#{manageMatchesBean.geteAllUsablePlayersOne()}" var="p" itemLabel="#{p.split('#')[0]} - #{p.split('#')[2]}" itemValue="#{p}"/>
                    <p:ajax event="valueChange" listener="#{manageMatchesBean.changeEPickedPlayerOne}" immediate="true"/>
                </p:selectOneListbox>
                <h:outputLabel style="display:block;" value="Add it to:" />
                <p:commandButton styleClass="myMatchCommandButton" value="Starting" update="posdlg0table" oncomplete="PF('posdlg0').show();return false;"/>
                <p:dialog header="Choose a position" widgetVar="posdlg0" modal="true" minHeight="40" resizable="false">
                    <h:dataTable id="posdlg0table" value="#{manageMatchesBean.getPickedPlayerPositionsOne()}" var="pos">
                        <h:column>
                            <p:commandButton value="#{pos.split('#')[0]}" update=":matchForm:updatePlayers" action="#{manageMatchesBean.eAddToStartingOne(pos.split('#')[1])}" process="@this" oncomplete="PF('posdlg0').hide();"/>
                        </h:column>
                    </h:dataTable>
                </p:dialog>
                <p:commandButton styleClass="myMatchCommandButton" value="Benched" update=":matchForm:updatePlayers" action="#{manageMatchesBean.eAddToBenchedOne()}" process="@this"/>
            </div>
        </div>
    </h:panelGroup>
</h:form>

如果我遗漏了某些内容,或者你想看到java代码让我知道,我也会发布它。

我很绝望!

提前致谢。

  • 亚历

1 个答案:

答案 0 :(得分:0)

显然我解决了..经过几个小时的尝试解决这个问题后,我退出并在这里写了这个问题,写完后1小时内我发现我的java代码中有一个小错误。是的,显然这个方法被称为。无论如何。现在它有效。感谢。