2015-08-24 2 views
0

мне нужно добавить сортировку на мою страницу, но класс не добавляя к активному выделению сортировочного ...PHP + JQuery добавить класс при изменении URL

Вот мой код:

<ul class="nav nav-tabs"> 
    <li class="menusel active" name="hlavni" onclick="deleteClass()"> 
     <a href="?sort=hlavni">Hlavní nástěnka</a> 
    </li> 
    <li class="menusel" name="date" onclick="deleteClass()"> 
     <a href="?sort=date">Nejnovější</a> 
    </li> 
    <li class="menusel" name="dulezite" onclick="deleteClass()"> 
     <a href="?sort=dulezite">Nejdůležitější</a> 
    </li> 
    <li class="menusel" name="hledane" onclick="deleteClass()"> 
     <a href="?sort=hledane">Nejhledanější</a> 
    </li> 
    <?php 
     $sort = $_GET['sort']; 
     echo "<script language='jscript'> 
     $('$sort').addClass('active'); 
     </script>"; 
    ?> 
    <script language="jscript"> 
     function deleteclass() { 
      $('.active').removeClass('active'); 
     } 
    </script> 
    <div style="float: right; margin-left: 100px;"> 
     <h1 style="font-family: Helvetica; margin-right: 50px">Nástěnka</h1> 
    </div> 
</ul> 

Вы видите что не так?

+0

, какой класс не добавляет .. Почему вы использовали "$ рода" в $ ('$ рода') addClass ('активный'). – shafiq

+0

закройте свой javascript с помощью '$ (function() {' at start и '});' end, что вы эхом отдаете через 'php' – Viral

+0

Потому что, насколько я знаю, я не могу использовать url как" localhost /? sort = date "только с javascript, и когда я попытался использовать его без изменения URL-адреса, он не будет сортировать содержимое страницы ... –

ответ

0

Я решил так:

<ul class="nav nav-tabs"> 
       <li class="menusel active" id="hlavni" onclick="deleteclass()"><a href="?sort=hlavni">Hlavní nástěnka</a></li> 
       <li class="menusel" id="date" onclick="deleteclass()"><a href="?sort=date">Nejnovější</a></li> 
       <li class="menusel" id="dulezite" onclick="deleteclass()"><a href="?sort=dulezite">Nejdůležitější</a></li> 
       <li class="menusel" id="hledane" onclick="deleteclass()"><a href="?sort=hledane">Nejhledanější</a></li> 
       <?php 
       $sort = $_GET['sort']; 
       echo "<script language='jscript'> 
       $(function(){ 
        $('#".$sort."').addClass('active'); 
        var sort = '".$sort."'; 
        switch(sort){ 
         case 'date': 
         case 'dulezite': 
         case 'hledane': 
         $('#hlavni').removeClass('active'); 
         break; 
         case 'hlavni': 
         default: 
         break; 
         } 
       }); 
       </script>"; 
       ?> 
       <script language="jscript"> 
        function deleteclass() { 
         $('.active').removeClass('active'); 
         } 
       </script> 
       <div style="float: right; margin-left: 100px;"><h1 style="font-family: Helvetica; margin-right: 50px">Nástěnka</h1></div> 
      </ul> 
0

Если вы хотите использовать get params для установки активной страницы u, вам не нужно использовать js. просто использовать это:

<li class="menusel <?php echo $_GET['sort']=='hlavni' ? 'active' : ''; ?>" name="hlavni" onclick="deleteClass()"><a href="?sort=hlavni">Hlavní nástěnka</a></li> 

же для остальных связывает

Смежные вопросы