繁体   English   中英

如何获取用户控件ID并在asp.net中应用jQuery .click()函数

[英]How to get User Control ID and apply jQuery .click() function in asp.net

我有这样的菜单:

 <li class="active" id="liHome"><asp:HyperLink ID="hlHome" runat="server" Text="Home" NavigateUrl="~/Default.aspx"></asp:HyperLink></li>
      <li><asp:HyperLink ID="hlRegister" runat="server" Text="Register" NavigateUrl="~/register.aspx"></asp:HyperLink></li>
      <li><asp:HyperLink ID="hlLogin" runat="server" Text="Login" NavigateUrl="~/login.aspx"></asp:HyperLink></li>
      <li><asp:HyperLink ID="hlBug" runat="server" Text="Report A Bug" NavigateUrl="~/bug.aspx"></asp:HyperLink></li>
      <li><asp:HyperLink ID="hlContactUs" runat="server" Text="Contact Us" NavigateUrl="~/contact.aspx"></asp:HyperLink></li>

使用Javascript作为标题:

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript">
    $(document).ready(function () {
        $('#<%= hlHome.ClientID %>').click(function () {
            alert("ok working")
             $('#liHome').removeClass("active"); // not working
        });
    });

警报在单击中有效,但无法从中删除活动的类,为什么? 我也在使用更新面板。 使用更新面板时完成该任务的解决方案是什么?

您可以尝试这样的事情:

     <script type="text/javascript">
       function pageLoad() {
           var loc = window.location.href.split('/');
           var page = loc[loc.length - 1];
           $('ul.nav a').each(function (i) {
               var href = $(this).attr('href');
               if (href.indexOf(page) !== -1) {
                   $('ul.nav li.active').removeClass('active');
                   $(this).parent().addClass('active');
               }
           });
       }
   </script>

对于UpdatePanels我相信您可以使用pageLoad函数代替$(document).ready

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM