0

ダイアログ内で p:inplace を使用しています。ダイアログを初めてクリックするとラベル (詳細) が表示され、ラベルをクリックすると 2 つの inputText が表示されますが、ダイアログを再度開くと 2 つの inputText が表示されます。ラベル (ステップ) がない場合、ラベルが最初に表示されるようにするにはどうすればよいですか。

<p:dialog widgetVar="Dialog" header="Update Patient Details" showEffect="clip" hideEffect="clip" modal="true" >  
    <h:panelGrid id="Details" columns="2">
        <p:inplace id="selectableInplace" label="Detail" effectSpeed="fast" event="click">  
        <h:panelGrid id="innerDetails1" columns="2">
            <h:outputLabel value="Name:" /> 
            <p:inputText id="someName" />

            <h:outputLabel value="Mobile:" /> 
            <p:inputText id="someMobile" />
        </h:panelGrid>
    </p:inplace>  
</h:panelGrid>
</p:dialog>
4

1 に答える 1

0

p:inplace要素は、閉じる命令を受け取りませんでした。p:inplaceダイアログが開いたときに要素を閉じたい場合hide()は、閉じるときまたは表示するときに関数を呼び出すことができp:dialogます。

ダイアログを閉じるときにこれを行うことをお勧めします。に を追加し、widgetVarのでその関数p:inplaceを呼び出すだけです。hide()onHidep:dialog

作業例:

<p:commandButton onclick="Dialog.show()" value="Show" />
<p:dialog widgetVar="Dialog" header="Update Patient Details"
    showEffect="clip" hideEffect="clip" modal="true"
    onHide="inplace.hide();">
    <h:panelGrid id="Details" columns="2">
        <p:inplace id="selectableInplace" label="Detail" effectSpeed="fast"
            event="click" widgetVar="inplace">
            <h:panelGrid id="innerDetails1" columns="2">
                <h:outputLabel value="Name:" />
                <p:inputText id="someName" />

                <h:outputLabel value="Mobile:" />
                <p:inputText id="someMobile" />
            </h:panelGrid>
        </p:inplace>
    </h:panelGrid>
</p:dialog>
于 2012-08-30T13:23:08.333 に答える