2014-11-08 41 views
0

如何通過ajax渲染命令按鈕,使其名稱在單擊一次後從「開始」更改爲「停止」,然後再次單擊時再次單擊「開始」?如何通過ajax渲染命令按鈕?它必須是動態的

+0

只有價值?不僅是按鈕的名稱(值),而且按鈕所分配的任務也需要從開始到停止進行更改。用戶呈現的屬性完成它。 – Tiny 2014-11-08 10:19:00

+0

@ Tiny很好的觀察,但也許OP可以根據按鈕的當前值改變操作方法的行爲。 – 2014-11-08 10:24:51

+0

我只想要名稱改變..從開始到停止,反之亦然......並且不使用amy jquery或javascripts。 – Learner 2014-11-08 10:28:29

回答

0

這可能是一個解決辦法:

XHTML代碼

<h:commandButton action="#{yourBackingBean.onBtnClick}" value="#{yourBackingBean.buttonValue}" id="btn"> 
    <f:ajax execute="btn" render="btn" /> 
</h:commandButton> 

MANAGEDBEAN CODE

public class YourBackingBean { 

    private String buttonValue; 

    public YourBackingBean() { 

     buttonValue = "start"; 
    } 

    public String onBtnClick() { 

     buttonValue = buttonValue.equals("start") ? "stop" : "start"; 
     return null; 
    } 

    public String getButtonValue() { 
     return buttonValue; 
    } 

    public void setButtonValue(String buttonValue) { 
     this.buttonValue = buttonValue; 
    } 
} 
+0

謝謝..它實際上清除了我懷疑的一半。但代碼不起作用。該按鈕的名稱不會改變' – Learner 2014-11-08 10:38:12

+0

@Learner編輯您的問題發佈您的XHTML和Java代碼的重要部分,這樣我們可以幫助您。例如,你是在faces_context.xml中聲明你的BackingBean還是使用註釋?或者你可能需要在執行和渲染屬性 – 2014-11-08 10:42:57

+0

中附加你的表單ID瞭解它...... :-)非常感謝你的幫助.. – Learner 2014-11-08 11:00:50