asp HyperLink无法在jquery中运行

时间:2011-04-21 22:25:19

标签: javascript jquery asp.net hyperlink

由于某种原因,只有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);
});

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

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

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

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

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

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

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

我的代码没有错。 asp超链接是通过jquery.load ajax调用加载的。所以在刚刚添加的负载回调函数

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

现在它完美无缺。感谢所有建议。