2013-03-06 165 views
3

我想在打開內容對話框後更新內容對話框。可能嗎?我的示例代碼如下。Primefaces對話框在打開後更新

<p:dialog widgetVar="pictureSaveDialog" id="pictureDialog" closable="false" > 
    <p:outputPanel id="saveDialogPanel"> 

    <p:selectOneRadio id="options" value="#{pictureDefinitionsView.radioValue}" > 
       <f:selectItem itemLabel="FILE" itemValue="FILE" /> 
       <f:selectItem itemLabel="" itemValue="URL" /> 
     <p:ajax update="fileUpload1 fileUpload2" event="click" process="options" /> 
    </p:selectOneRadio> 

    <p:outputPanel id="fileUpload1" rendered="#{pictureDefinitionsView.selectedFileUpload}"> File </p:outputPanel> 

<p:outputPanel id="fileUpload2" rendered="#{pictureDefinitionsView.selectedUrlUpload}"> URL </p:outputPanel> 
</p:outputPanel id="saveDialogPanel"> 

bean的方法。

public boolean isSelectedFileUpload(){ 
    return radioValue.equals("FILE"); 
    } 
public boolean isSelectedUrlUpload(){ 
    return !isSelectedFileUpload(); 
    } 

回答

7

可以在onShow屬性定義p:remoteCommand剛剛更新對話框,然後調用命令:

<p:remoteCommand name="updateDialog" update="saveDialogPanel"/> 

<p:dialog widgetVar="pictureSaveDialog" id="pictureDialog" closable="false" onShow="updateDialog()"> 

如果您saveDialogPanel是一些命名容器是岸添加適當的前綴匹配組件的ID 。

+0

請提供像程序員一些更多的解釋,不喜歡的用戶。這意味着什麼沒有奏效。請參閱JavaScript控制檯,請參閱Java控制檯,請參閱生成的HTML。 – partlov 2013-03-06 11:35:27

+0

對不起。我希望在打開對話框之後,在​​ID爲fileUpload1的輸出面板將隱藏並且其他輸出面板將顯示之後,我選擇其他無線電選項。當我選擇其他無線電選項時,id爲fileUpload2的輸出面板將顯示並且fileUpload1將關閉。我希望,儘管我有英語,但你會明白。 – Zapateus 2013-03-06 14:19:46

3

您更好地刷新它是開放

你的第106頁的對話內容:的commandButton/P:阿賈克斯應具備以下條件:

update="pictureDialog" onsuccess="pictureSaveDialog.show()" 
+0

我想在對話框打開後刷新。 – Zapateus 2013-03-06 14:22:02

+0

它是同樣的事情,在這兩種情況下,你會顯示對話框更新值... – Daniel 2013-03-06 14:28:57

+0

我無法解釋我的問題。我在partlov的回答下詳細解釋。我有機會選擇對話框上的單選按鈕,並且我希望在不關閉對話框的情況下提供對話內容。 – Zapateus 2013-03-06 15:12:13

相關問題