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 标签中的表格。这只是工作了一半,因为当我单击链接时,它会出现一秒钟左右,然后立即消失。我究竟做错了什么??

4

1 回答 1

1

删除ajax="false". 您不需要只刷新给定 div 的整个页面。在您的情况下,当您单击p:commandLinkdiv 时,将显示该 div,但由于ajax="false"整个页面已刷新 - 这将显示您的 div 初始状态。

于 2012-11-12T20:45:38.987 回答