2013-04-03 15 views
6

Ho un'attività per evidenziare il menu selezionato durante l'aggiornamento della pagina. Per questo voglio usare i cookie. codice HTML èCome impostare l'id di un div come cookie?

<div class="menuBar"> 
      <div class="menuHeader ui-corner-top"> 
      <span><a href="#" onclick="Home()" id="home">Home</a></span> 
      </div> 
      <div class="menuHeader ui-corner-top"> 
      <span><a href="#" onclick="NewTransaction()" id="newtransaction">New Transaction</a></span> 
      </div> 
</div> 

file JavaScript è

function Home() { 
      window.location.href = "../../home/welcome"; 
     } 
     function NewTransaction() { 
      window.location.href = "../../EnergyCatagory/index"; 
     } 

Ma ho un codice per impostare il menu come selected.But la sua non è una buona way.How posso passare il valore del menu selezionato alla pagina durante l'aggiornamento? Questo è il codice per evidenziare il menu

$(document).ready(function() { 
       var currentUrl = window.location.href; 
       if (currentUrl.indexOf("home/welcome") !== -1) { 
        $("#home").parent().parent().addClass('menuHeaderActive'); 
       } 
       else if (currentUrl.indexOf("EnergyCatagory/index") !== -1) { 
        $("#newtransaction").parent().parent().addClass('menuHeaderActive'); 
       } 
       else if (currentUrl.indexOf("portfolio/Index") !== -1) { 
        $("#portfolio").parent().parent().addClass('menuHeaderActive'); 
       } 
      }); 
+0

ho modificato il mio codice @MatthewAgustin – Niths

+0

@MatthewAgustin, può essere qualsiasi codice "non semantica" ? Per me la risposta è no. Una montagna non è semantica, così come un cesto della biancheria. –

risposta

2

È possibile implementare in questo modo:

function goToLocation(sLocation, id) { 
    $.cookie("activediv", id); 
    window.location.href = sLocation; 
} 

in html:

<a href="#" onclick="goToLocation('../../home/welcome', 'home')" id="home">Home</a> 

in jQuery pronto:

$('#' + $.cookie("activediv")).parent().parent().addClass('menuHeaderActive'); 
+0

@ ChrisMoutray- Qui ho ottenuto un errore come questo TypeError: $ .cookie non è una funzione [Pausa su questo errore] \t var a = ($ biscotto. ("activediv")); Ma ho il plug-in per i cookie Niths

+0

@ victor-Qui ho ricevuto un errore come questo TypeError : $ .cookie non è una funzione [Break On This Error] var a = ($. cookie ("activediv")); Ma ho il plugin plugin Niths

+0

Il link sui cookie con jQuery è sul commento qui sotto. Uso solo le informazioni e i cookie sui cookie per compilare alcuni risultati. – Victor

4

Dare id per ogni voce di menu.

Quindi nella funzione onclick() della voce di menu è possibile impostare tale ID come cookie.

Set biscotto

$.cookie("selectedId", $(this).attr('id')); 

In funzione document.ready Aggiungi selezione di classe per l'elemento con id ottenuto dal biscotto

Problemi correlati