2

以下は JavaScript コードです。

<script language="JavaScript">
    function ShowHide(divId)
    {
        if(document.getElementById(divId).style.display == 'none')
        {
            document.getElementById(divId).style.display='block';
        }
    }
</script>

これは、showhide 関数を呼び出す xhtml コードです。

<p:column>
<p:commandLink onclick="javascript:ShowHide('HiddenDiv');" ajax="false" value="#{rail.trainNo}" action="#yardMaster.populateTrainDetails(rail.trainNo)}" style="font-family:Times New Roman, Times, serif;"></p:commandLink>
</p:column>

上記は、次の分割を再表示することになっているリンクです。

<div style="display: none" id="HiddenDiv">
 Stuff
</div>

基本的に、ウェブページが初めてレンダリングされたときに表示されない div タグのテーブルを再表示しようとしています。これは、リンクをクリックすると 1 秒ほど表示され、すぐに消えるという意味で、半分しか機能していません。私は何を間違っていますか??

4

1 に答える 1

1

を削除しajax="false"ます。指定された div だけでページ全体を更新する必要はありません。あなたの場合p:commandLink、divをクリックすると表示されますが、ajax="false"ページ全体が更新されるため、divが初期状態で表示されます。

于 2012-11-12T20:45:38.987 に答える