0

我有一个页面,上面有 ajax URL,当然这个页面正在应用不显眼的 javascript,我们称这个页面为 A。

<div id="pageA">
    <a href="additem?id=1>Add this item</a>
</div>
<div id="items"></div>

当我单击该 URL 页面 B 时返回一个带有假定为 ajax 链接的 URL 的 div。回报是这样的:

<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

4

4 回答 4

1

您可以让页面或 Web 服务以您期望在父 div 中的特定格式返回数据:

<div id="items">
    <div class="item">This is 1 item <a href="delete?id=3">Delete this</a><div>
    ...
    ...
</div>

您使用的特定内容的响应(即 text/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 页面,并且您生成的数据位于一个名为结果;您可以通过这种方式获取结果...

$('#items').load('pathToMyWebPage #results div');

为了正确实施检查文档:http ://docs.jquery.com/Ajax/load#urldatacallback

于 2009-10-28T17:08:36.493 回答
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;
});
于 2009-10-28T18:42:41.793 回答
1
$("#pageA").click(function(e){
   e.stopPropagation();
   $("#items").append($("<div>").load( $(this).find("a").attr("href")));
});
于 2009-10-28T16:59:02.673 回答
1

在 的click处理程序中pageA,当您调用 时load,给它一个回调,该回调又使用click新加载的项目上的函数来设置它们的 ajax 功能。

于 2009-10-28T17:02:50.047 回答