2009-10-28 39 views
0

我有一個頁面,上面有一個AJAX網址着,當然這個頁面將不顯眼的JavaScript,我們稱之爲頁面A.如何使用Ajax鏈接在AJAX返回HTML悄悄

<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

+0

什麼是代碼轉換鏈接到ajax鏈接?你在哪裏運行它? – Zoidberg 2009-10-28 16:53:33

回答

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; 
}); 
1
$("#pageA").click(function(e){ 
    e.stopPropagation(); 
    $("#items").append($("<div>").load($(this).find("a").attr("href"))); 
}); 
1

click處理程序pageA,當你調用load,給它一個回調,反過來對使用click功能新加載的項目來設置他們的ajax功能。

1

你可以有一個網頁或您所期望的父DIV中特定格式的Web服務回報數據:你已經是特別的事情

<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頁面,並且你生成的數據位於div叫結果;你可以獲取結果這樣...

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

對於正確執行檢查文檔:http://docs.jquery.com/Ajax/load#urldatacallback