【问题标题】:asp HyperLink not working in jqueryasp超链接在jquery中不起作用
【发布时间】:2011-08-10 15:53:26
【问题描述】:

由于某种原因,只有 asp.net 超链接不适用于 jquery。有什么建议吗?

<asp:HyperLink runat="server" ID="hypeDeleteBaseline" Text="Delete Baseline" /> <br/>

//Delete Baseline information
jQuery('[id$="hypeDeleteBaseline"]').click(function (e) {
    e.preventDefault();      
    var equipid = "<%=Equipment.ID%>";
    var inspectionid = jQuery('[id$="ddInspectionDate"]').val();
    deleteBaseline(equipid, inspectionid);
});

感谢您的帮助。

【问题讨论】:

    标签: javascript jquery asp.net hyperlink


    【解决方案1】:

    您的选择器有点不寻常。你试过了吗:

    jQuery('#hypeDeleteBaseline').click(...)
    

    另外,您检查过呈现的 HTML 吗?通常情况下,您在控件上设置的 ID 实际上并不是在 HTML 中呈现的 ID。这样的事情可能会奏效:

    jQuery('<%=hypeDeleteBaseline.ClientId%>').click(...)
    

    最后,您的 javascript 类没有包含太多上下文。确保它位于文档就绪处理程序中:

    <script type="text/javascript">
        jQuery(function(){
            //Delete Baseline information
            //...
        });
    </script>
    

    【讨论】:

      【解决方案2】:

      您需要获取在 html 上呈现的 ClientId 而不是作为参数,尝试:

      jQuery('#<%=hypeDeleteBaseline.ClientID%>')
      

      或者,如果您使用 Net 4,请在您的 HyperLink 上设置 ClientIDMode="Static" 以不更改渲染 ID。

      【讨论】:

        【解决方案3】:

        我的代码没有问题。正在通过 jquery.load ajax 调用加载 asp 超链接。等等我刚刚添加的负载的回调函数

        jQuery('[id$="hypeDeleteBaseline"]').click(function (e) {
                e.preventDefault();      
                var equipid = "<%=Equipment.ID%>";
                var inspectionid = jQuery('[id$="ddInspectionDate"]').val();
                deleteBaseline(equipid, inspectionid);
            });
        

        现在它可以完美运行了。感谢所有建议。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-04
          • 1970-01-01
          • 2015-04-28
          • 2017-07-06
          • 2013-05-22
          • 1970-01-01
          • 2012-07-09
          • 1970-01-01
          相关资源
          最近更新 更多