2017-05-04 1 views
0

j'ai le code suivant JQuery:Jquery désactiver la base de l'onglet accordéon URL

var activeIndex = parseInt($('#<%=hidAccordionIndex.ClientID %>').val()); 

$("#accordion").accordion({ 
       header: "h3", 
       navigation: true, 
       icons: false, 
       active: activeIndex,     
       open: function (event, ui) { 
        icons: false; 
       } 
    }); 

il fonctionne très bien. maintenant je veux activer/désactiver certains onglets basés sur le paramètre URL. Si le type d'utilisateur http://example.com/mypage.aspx?key=profile que la page ne doit avoir que les onglets # 3 et # 4, tous les autres onglets doivent être désactivés. si une autre valeur de clé est activée par un autre onglet. si aucune valeur de clé dans l'URL ne doit être activée pour tous les onglets.

Je ai googlé et montrer de nombreux exemples, mais aucun d'entre eux ne résout mon problème. aidez s'il vous plaît.

Répondre

0

J'ai trouvé une solution simple. poster ici, peut être utile à quelqu'un d'autre.

à Css ajouter:

.ui-accordion-header-disable 
{ 
    background-color:#dddddd; 
} 

à .aspx ajouter cette classe à l'en-tête que vous souhaitez désactiver conditionnellement:

<div id="accordion"> 
     <div class="ui-accordion-header-disable "> 
      <h3 id="acc_email"><a href="#"><span style="font: 12px Arial, Helvetica, sans-serif; font-weight: bold">E-mail</span></a></h3> 
      .... 
     </div> 

script écriture:

<script id="scriptInit" type="text/javascript"> 


      $(document).ready(function() { 

       var key = getParameterByName('key'); 

       if(key == 'passwordchange') 
        $('.ui-accordion-header-disable').addClass('ui-state-disabled').unbind('click'); 
       else 
        $('.ui-accordion-header-disable').removeClass('.ui-accordion-header-disable').bind('click');     

      }); 

      .... 

    </script>