
Untitled
By: a guest on
May 2nd, 2012 | syntax:
None | size: 2.32 KB | hits: 23 | expires: Never
jquery traversing an asp.net menu
<div id="MainMenu" class="mainMenuControl">
<ul class="level1 static" role="menubar">
<li class="static" role="menuitem"><a class="level1 static selected" href="/default.aspx">Home</a>
</li>
<li class="has-popup static" aria-haspopup="MainMenu:submenu:3" role="menuitem"><a
class="level2 static" href="/store/prodcut.aspx">Product 1</a>
<ul id="MainMenu:submenu:3" class="level3 dynamic">
<li class="dynamic" role="menuitem"><a class="level3 dynamic" href="/store/product/category1.aspx">
Category 1</a> </li>
<li class="dynamic" role="menuitem"><a class="level3 dynamic" href="/store/product/category2.aspx">
Category 2</a> </li>
</ul>
</li>
<li class="has-popup static" aria-haspopup="MainMenu:submenu:10" role="menuitem"><a
class="level2 static" href="/store/paymentoptions.aspx">Ministries</a>
<ul id="MainMenu:submenu:10" class="level3 dynamic">
<li class="dynamic" role="menuitem"><a class="level3 dynamic" href="/store/paymentoptions/option1.aspx">
Option 1</a> </li>
<li class="dynamic" role="menuitem"><a class="level3 dynamic" href="/store/paymentoptions/option2.aspx">
Option 2</a> </li>
</ul>
</li>
</ul>
</div>
$('.mainMenuControl ul a').each(function () {
if ($(this).attr('href') == window.location.pathname) {
$(this).addClass('selected');
if ($(this).parent('li').parents('.mainMenuControl ul.level1 li').length) {
$(this).parent('li').parents('.mainMenuControl ul.level1 li').find('a.static').addClass('selected');
}
}
});
<div id="MainMenu" class="mainMenuControl">
<asp:labelControl text = ""/>
</div>
public string BuildMenu(string selected1, string Selected2)
StringBuilder sbMenu = new StringBuilder();
sbMenu.Append("<ul class="level1 static" role="menubar">");
sbMenu.Append .......
return sbMenu.ToString().replace(selected1, selected2);
lblMenu.Text = className("<a class=""level1 static""","<a class="level1 static selected"");