我有一个页面,上面有ajax URL,当然这个页面正在应用不引人注目的javascript,让我们称之为A页。
<div id="pageA">
<a href="additem?id=1>Add this item</a>
</div>
<div id="items"></div>
当我点击该URL页面B时,返回一个div,其中包含一个假定为ajax链接的URL。 回报是这样的:
<div class="item">This is 1 item <a href="delete?id=3">Delete this</a><div>
所以页面最终将如下所示:
<div id="pageA">
<a href="additem?id=1>Add this item</a>
</div>
<div id="items">
<div class="item">This is 1 item <a href="delete?id=3">Delete this</a><div>
</div>
返回的HTML中的删除链接标记假设像additem链接一样运行。但我不知道如何使这项工作。
有什么方法可以保持这种不引人注目的行为吗?
非常感谢你:)
PS:IM使用jquery
答案 0 :(得分:1)
$("#pageA").click(function(e){
e.stopPropagation();
$("#items").append($("<div>").load( $(this).find("a").attr("href")));
});
答案 1 :(得分:1)
在click
的{{1}}处理程序中,当您调用pageA
时,给它一个回调,然后在新加载的项目上使用load
函数来设置他们的ajax功能。
答案 2 :(得分:1)
您可以让页面或Web服务返回您在父div中所期望的特定格式的数据:
<div id="items">
<div class="item">This is 1 item <a href="delete?id=3">Delete this</a><div>
...
...
</div>
您使用的特定事物的响应(即文本/ html)将类似于
<div class="item">This is 1 item <a href="delete?id=3">Delete this</a><div>
...
...
然后您可以使用jQuery.load()来调用此页面...最终代码将如下所示:
$('#items').load('pathToMyWebService');
jQuery.load()返回一个jQuery对象,所以你也可以运行你的选择器...所以让你要实现的解决方案是一个完整的html页面,你生成的数据就在里面一个名为结果的div ;你可以用这种方式获取结果......
$('#items').load('pathToMyWebPage #results div');
要正确实施,请查看文档:{{3}}
答案 3 :(得分:1)
http://plugins.jquery.com/project/livequery/
为了简化起见,我们可以使用它。一个电话
$('.item-control').livequery('click', function(event) {
var addlink = $(this);
$('#form').ajaxSubmit({ url: addlink.attr('href'), success: function(d) { $("#parrentDIV").empty().append(d); } });
return false;
});