2011-04-26 16 views
0

こんにちはすべて私は、CakePHPでアプリケーションを開発していますし、以下のようにmenu_top.ctp要素を定義している:CSSのメニュー項目選択問題のjQuery/cakephpの

<script type="text/javascript">var path =location.pathname; 

`

$(document).ready(function() { 
     alert(path); 
     /* select the menu nav tab based on the url */ 
     $("#menu li a[href='" + [ path ] + "']").parents("li").each(function() { 
      $(this).addClass("current-menu-item"); 
     }); 

    }); 
</script> 
<div id="welcomeMsg"> 
<?php 

    if($session->check('Auth.User')): 
    echo "<span style='float:right;color:#ffffff;'> Welcome ".$session->read('Auth.User.username')."</span>"; 
    endif  
?> 
</div> 
<div style="clear:both;"></div> 
<div id="topNav"> 
    <?php 
     if($session->check('Auth.User')): ?> 
      <ul id="menu" style="margin-top:10px;"> 
       <li> 
        <?php echo $this->Html->link('Home',array('controller' => 'pages', 'action' => 'display', 'home')); ?> 
       </li> 
        <?php if($session->read('Auth.User.admin') == 1): ?> 
       <li class=""> 
        <?php echo $this->Html->link('Admin',array('controller' => 'admin','action'=>'index')); ?> 
       </li> 
       <?php endif ?> 
       <li class=""> 
        <?php echo $this->Html->link('Terms & Conditions/Privacy Policy',array('controller' => 'toc','action'=>'index')); ?> 
       </li> 

       <li class=""> 
        <?php echo $this->Html->link('Contact Us',array('controller' => 'contact','action'=>'index')); ?> 
       </li> 
       <li class=""> 
        <?php echo $this->Html->link('About Us',array('controller' => 'about','action'=>'index')); ?> 
       </li> 
        <li class=""> 
        <?php echo $this->Html->link('Log Out',array('controller' => 'users','action'=>'logout')); ?> 
       </li> 
      </ul> 

jqueryのコードを定義しました上の例では、トップレベルのURLがブラウザで開かれている場合にメニュー項目を選択します。 http://localhost/mysite/adminは[管理]タブを選択しますが、http://localhost/mysite/admin/usersを開くと選択が失われます。 この問題を解決するのを手伝ってください。 ありがとうございます。 document.ready機能で

答えて

0

"#menu li a[href='" + [ path ] + "']" 

から

"#menu li a[href^='" + [ path ] + "']" 

にセレクタを変更する(=の前に^記号に注意してください)

出典: http://www.w3.org/TR/css3-selectors/#attribute-substrings

+0

それが働いていませんでした。私はコードを変更しましたが、同じ結果になりました。 – deep

関連する問題