我想了解richfaces中的彈出式菜單。我正在嘗試執行以下操作:我有一個文本框和一個按鈕。我寫了一些文本到文本框中,如果寫入的文本的值是「彈出」,我想調用彈出菜單。下面是代碼:如何根據richfaces中的條件調用彈出窗口?
<h:form>
<h:inputText value="#{popupCall.text}"></h:inputText>
<a4j:commandButton action="#{popupCall.showpopup()}" onclick="if (#{popupCall.showpopup()}) #{rich:component('popup')}.show();">
</a4j:commandButton>
</h:form>
<rich:popupPanel id="popup" modal="false" autosized="true" resizeable="false">
<f:facet name="header">
<h:outputText value="Popup panel" />
</f:facet>
<f:facet name="controls">
<h:outputLink value="#" onclick="#{rich:component('popup')}.hide();
return false;">
X
</h:outputLink>
</f:facet>
</rich:popupPanel>
和bean:
@ManagedBean (name="popupCall")
@VievScoped
public class PopupCall {
private String text;
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public PopupCall() {
}
public void checkText(){
if(text.equals("popup")){
//CALL POPUP MENU
}
}
public boolean showpopup(){
if(text!=null && text.equals("popup"))
return true;
else
return false;
}
}
如果我不把 「如果(#{popupCall.showpopup()})」 的onclick方法裏面總是調用時按鈕被按下,但現在即使showpopup()方法返回true,也不顯示彈出窗口。另外,在showpopup()方法中,如果我只寫了return true,那麼onclick中的if語句可以工作,但現在它不會。 任何人都可以幫助我嗎?謝謝
[豐富的條件調用:彈出面板]的可能重複(http://stackoverflow.com/questions/8957560/conditional-invocation-of-richpopup-panel) – Andy
的答案在鏈接中。如果你不明白,請告訴我。 – Andy
@安迪謝謝我正在嘗試它,但我認爲onclick方法中的「if」存在問題。編輯問題 – yrazlik