【问题标题】: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);
});
现在它可以完美运行了。感谢所有建议。