2015-06-14 64 views
1

我想隱藏其中一個下拉菜單當用戶登錄或註銷,我使用$_Session知道用戶是否登錄。我的JavaScript有什麼問題。希望任何人都能幫忙。謝謝!這是我的代碼:隱藏菜單的Java腳本

兩個下拉菜單我想隱藏/顯示:

<li class="dropdown" id="account" > 
    <a href="#" class="dropdown-toggle" data-toggle="dropdown"> 
    Account 
    <b class="caret"></b> 
    </a> 
    <ul class="dropdown-menu" > 
    <li><a href="#">Login</a></li> 
    <li class="divider"></li> 
    <li><a href="#">Register</a></li> 
    </ul> 

    <li class="dropdown" id="user"> 
    <a href="#" class="dropdown-toggle" data-toggle="dropdown"> 
     <?php 
     if(isset($_SESSION['username'])) { 
      echo ' '.htmlentities($_SESSION['username'], ENT_QUOTES, 'UTF-8'); 
     } 
     ?> 
     <b class="caret"></b> 
    </a> 
    <ul class="dropdown-menu"> 
     <li><a href="#">Profile</a></li> 
     <li><a href="#">Messages</a></li> 
     <li class="divider"></li> 
     <li><a href="#">Logout</a></li> 
    </ul> 

這裏是我的JavaScript代碼:

<script type="text/javascript"> 

    if (isset($_SESSION['username'])) { 
     $('#user').show(); 
     $('#account').hide(); 
    } else { 
     $('#user').hide(); 
    } 

</script> 
+3

PHP JavaScript不 –

+0

爲什麼不僅呼應它,如果用戶登錄,而不是顯示\隱藏JS –

+0

感謝指出這一點。假設我可以回顯我想要的菜單。但我的問題是,其中一個菜單部分隱藏(#user),顯示菜單(#account)在用戶登錄時被替換。我最初可以顯示#account,然後用#user替換它,如果用戶在PHP中登錄? – Leroux

回答

0

您可以使用PHP來包括你想要這種方式,你可能不需要JavaScript和/或DIV類的jQuery

<li class="dropdown <?php if(isset($_SESSION['username'])){echo "notvisible";} ?>" id="account" > 

並使用與CS類■要設置

.notvisible { display:none; } 

您還可以,如果你想使用.toggleclass()或隱藏其他方式/顯示菜單之後。

另一種方法是呼應你想用PHP菜單例如:

<?php 
    if(isset($_SESSION['username'])) { 
     echo "<li class=\"dropdown\" id=\"account>\"" >>> and whatever you want 
    } else { 
     echo "<li class=\"dropdown\" id=\"account\">" Hello user".$_SESSION['username']."And whatever else" 
    } 
?> 
+0

謝謝!我試着用你的第一個答案,但它不工作。你能否認爲「不可見」作爲一個班級?但無論如何,我的問題已經得到解答。我試圖在我的JavaScript文件中使用PHP,這是一個禁忌*大聲笑*。我的解決方案是單獨使用PHP編寫它。我想我需要閱讀更多關於Java腳本。謝謝btw :)。 – Leroux

+0

@Lououx在HTML中,類或多或少是您構成的名稱/標識符,用於標識和選擇HTML代碼中的元素。它主要用於javascript/jQuery或CSS來設計元素。它取代了內聯樣式,例如 with A或一個CSS文件,它可以很容易地設計很多元素。元素也可以有任何數字A