[英]change anchor tag href thats loaded through ajax
基本上,我有一个通过服务器而不是在内存中分页的gridview,问题是gridview中的每一行都有一个用javascript更改的url,我在asp:HyperLinkField中为此列使用的服务器控件。 必须在javascript动态中完成此操作的原因是因为我必须转义作为查询参数附加到url的参数,因为它可能包含哈希标签。因此,我的javascript:
$('#<%=grid1.ClientID%> a').each( function(){
var url= $(this).attr("href");
var parameter =//this line gets the parameter from the url
url= "Page.aspx?param="+escape(parameter);
$(this).attr("href", url);
});
这可以在第一页加载时使用最初存储在gridview中的URL进行工作,但是由于我正在服务器上进行分页并也使用ajax(asp.net updatepanel),因此下一页没有触发javascript,因为它没有不会刷新页面。 我认为jQuery live将在这里发挥作用,但不确定那是否准确,因为我认为必须触发一个事件才能启动实时处理程序
不,不幸的是, live
处理程序无法更改实际的href。 但是,如果您稍微改变方法,则可以获得相同的效果。
$('#<%=grid1.ClientID%> a').live('click', function(e) {
e.preventDefault();
var url = $(this).attr("href");
var parameter =//this line gets the parameter from the url
url = "Page.aspx?param="+escape(parameter);
window.location = url;
});
因此,您无需更改每个链接上的实际属性,而是可以覆盖与单击该链接相关的行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.