简体   繁体   English

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

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

I have menu like this : 我有这样的菜单:

 <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>

Using Javascript as in header : 使用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
        });
    });

Alert is working in click butits not removing class active from li why ? 警报在单击中有效,但无法从中删除活动的类,为什么? I am also using update panel. 我也在使用更新面板。 what is the silution to get it done while using update panel. 使用更新面板时完成该任务的解决方案是什么?

You could maybe try something like this: 您可以尝试这样的事情:

     <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>

For UpdatePanels I believe you can use the pageLoad function instead of $(document).ready 对于UpdatePanels我相信您可以使用pageLoad函数代替$(document).ready

暂无
暂无

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

相关问题 如何为ASP.net中的用户控件添加可以使用控件ID调用的JavaScript函数 - How To add JavaScript function for a user control in ASP.net that can be called using control ID 当我们在asp.net中有多个相同用户控件的实例时,如何获取正确的控件ID? - How to get correct control id when we have multiple instance of same user control in asp.net? 通过参数将asp.net控件ID传递给jquery函数 - passing asp.net control id to jquery function by parameter ASP.NET - jQuery (document).ready() 函数不会被用户控制触发 - ASP.NET - jQuery (document).ready() function is not fired for user control jQuery函数未在asp.net用户控件中触发 - Jquery function is not getting fired in asp.net user control 如何在母版页弹出窗口的向导中从User Control中获取ControlToValidate ID-javascript asp.net验证 - How to get ControlToValidate ID from User Control in a wizard in a popup in a master page - javascript asp.net validation 如何在JavaScript中使用具有相同ID的两个文本框获取asp.net用户控件的值 - How to get the values of an asp.net user control with two textboxes with same id in javascript 右键单击如何在jQuery中获取ASP.NET GridView的单元格ID? - How to get cell ID of ASP.NET GridView in jQuery on right Click? 如何在用户控件asp.net中使用jquery对话框(弹出窗口)? - how to use jquery Dialog (popup) in user control asp.net? 如何在Javascript中获取Asp.Net GridView控件ID - How to get Asp.Net GridView control ID in Javascript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM