2013-04-03 39 views
6

Tôi có một nhiệm vụ để làm nổi bật menu đã chọn trong khi làm mới trang. Cho rằng tôi muốn sử dụng cookie. mã HTML làLàm cách nào để đặt id của div làm 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> 

tập tin Javascript là

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

Nhưng tôi có một mã số để thiết lập menu như selected.But không phải là một way.How tốt của nó tôi có thể vượt qua giá trị của menu đã chọn đến trang trong khi làm mới? đây là đoạn code để làm nổi bật 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

tôi sửa mã của tôi @MatthewAgustin – Niths

+0

@MatthewAgustin, có thể bất kỳ mã là "phi ngữ nghĩa" ? Đối với tôi câu trả lời là không. Một ngọn núi không phải là ngữ nghĩa, như một cái giỏ đựng đồ giặt. –

Trả lời

2

Bạn có thể thực hiện nó như thế này:

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

trong html:

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

trong jQuery sẵn sàng:

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

@ ChrisMoutray- Ở đây tôi nhận được một lỗi như này TypeError: $ .cookie không phải là một chức năng [Break On This Error] \t var a = ($. Cookie ("activediv")); Nhưng tôi có plugin cookie Niths

+0

@ victor-Ở đây tôi nhận được một lỗi như TypeError này : $ .cookie không phải là hàm [Break On This Error] var a = ($. cookie ("activediv")); Nhưng tôi có plugin cookie Niths

+0

Liên kết về cookie với jQuery là bình luận bên dưới. Tôi chỉ sử dụng thông tin và thông tin của bạn về cookie để biên dịch một số kết quả. – Victor

1

Cố gắng thiết lập cookises sử dụng jQuery như:

$.cookie("name", "value"); 

hơn bạn có thể đọc ở đây: How do I set/unset cookie with jQuery?

+0

Tôi biết điều này.Nhưng làm thế nào để thực hiện điều này trên proect của tôi – Niths

4

Cho id cho mỗi mục menu.

Sau đó, trong chức năng onclick() của mục menu, hãy đặt id đó làm cookie.

Set Cookie

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

Trong chức năng document.ready add chọn lớp để các phần tử với id thu được từ cookie sẽ

Các vấn đề liên quan