7

ウィザードの最後のタブにある [戻る] ボタンを非表示にしたいと考えています。プライムフェイスを使用しています。それに対する解決策は何でしょうか?

ありがとうございました

4

4 に答える 4

5

jQuery を使用してクライアント側で実行できます。

ショーケースでウィザードを使用していると仮定します: http://www.primefaces.org/showcase/ui/wizard.jsf :

<p:wizard widgetVar="wiz"  
        flowListener="#{userWizard.onFlowProcess}"
        onNext="hideBackOnLastTab()">

JavaScript:

function hideBackOnLastTab() {
    if($("ul.ui-wizard-step-titles>li").last()
             .is("ul.ui-wizard-step-titles>li.ui-state-highlight")) {
            $("div.ui-wizard-navbar>button.ui-wizard-nav-back").css("display", "none");
    }

}

また、ウィザードの [次へ] ボタンが、同じように最後のパネルで (PF クライアント側によって) 非表示になっていることがわかります。

于 2013-01-14T18:39:42.963 に答える
3

私は長い間同じ問題を抱えていて、ついに解決しました。多分私の解決策は、将来他の人に役立つかもしれません:

ウェブページ:

<p:wizard id="dataLoadSetWizard" widgetVar="wiz" onnext="hideBackOnLastTab()" ...

Javascript:

function hideBackOnLastTab() {
            if(PF('wiz').getStepIndex(PF('wiz').currentStep) > 0) {
                PF('wiz').backNav.css("visibility", "hidden")
            }
        }
于 2016-02-26T16:38:29.933 に答える
0

マネージドBeanからこれを試すことができます:

  @ManagedBean(name = "testWizardBean")
  @ViewScoped
  public class TestWizardBean implements Serializable {

         private RequestContext requestContext;

         @PostConstruct
         public void init() {
              requestContext = RequestContext.getCurrentInstance();
              if (testWizardDto.getDirection().isEmpty()) {
                    requestContext.execute("PF('signwzd').nextNav.hide();");
         }
  }

}

于 2018-12-03T09:40:39.007 に答える