2015-10-29 1 views
0

У меня есть меню аккордеон получение генерируемой на лету из базы данных следующим образомJquery Аккордеон меню: сохранить выбранное меню расширенного в другой странице

echo '<div class=" top-nav rsidebar span_1_of_left">'; 
      echo '<h3 class="cate">CATEGORIES</h3>'; 
      $content = "<ul class=\"menu\">"; 
      $last_tab = NULL; // remember the last tab value (start with a value it will never be) 
      $catId=0; 
      $i=0; 
      while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
       if($last_tab != $row['tab']){ 
        // the tab changed 
        if($last_tab != NULL){ 
         // it was not the first tab, close the previous tab 
         $content .="\t</ul>\n"; 
        } 
        $last_tab = $row['tab']; // remember the new tab value 
        // start a new tab 
        $content .="\t<li><a href=\"#\">{$row['tab']}</a>\n"; 
        $content.="\t<ul class=\"cute\">\n"; 
       } 
       $catId = catIdFromCatLabel($row['label']); 
       // output each label 
       $content.="\t\t<li><a href=\"products.php?cat_id=".$catId."\" id=\"sub_li_".$i."\">{$row['label']}</a></li>\n"; 
       $i=$i+1; 
      } 
      // close the last tab 
      $content .= "\t</ul>\n</li>\n</ul>\n"; 
      echo $content; 
echo '</div>'; 

Javascript выглядит следующим образом:

 <script type="text/javascript"> 
     $(function() { 
      var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/")+1); 
      var menu_ul = $('.menu > li > ul'), 
       menu_a = $('.menu > li > a'), 
       cute_a = $('.cute > li > a '); 
       menu_ul.hide(); 
      cute_a.each(function(){ 
       if($(this).attr('href') === pgurl){ 
        $(this).addClass('active'); 
       }else{ 
        // alert('else'); 
       } 
      }); 
      menu_a.click(function(e) { 
       e.preventDefault(); 
       if(!$(this).hasClass('active')) { 
        menu_a.removeClass('active'); 
        menu_ul.filter(':visible').slideUp('normal'); 
        $(this).addClass('active').next().stop(true,true).slideDown('normal'); 
       } else { 
        $(this).removeClass('active'); 
        $(this).next().stop(true,true).slideUp('normal'); 
       } 
      }); 
     }); 
    </script> 

Мое требование должен иметь выбранное Подменю расширенное и выделенное на странице-2, которое было нажато на странице 1. В настоящее время мой код javascript выделяет подменю, но меню верхнего уровня или родительское меню не расширены, чтобы открыть выделенное подменю. Пожалуйста, сообщите, как это сделать. Заранее спасибо.

ответ

0

Вы можете просто попробовать что-то простое, как показано ниже:

if (window.location.href.indexOf("#openPanel1") >= 0) { 
     $("#openPanel").show(); 

    } else if (window.location.href.indexOf("#openPanel2") >= 0) { 
     $("#openPanel2").show(); 

    } 

Примечание: Это просто пример. Изучайте и яблоко это к вашему делу.