0

私はajaxURLを含むページを持っていますが、もちろんこのページは控えめな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からのdeletelinkタグは、additemリンクと同じように実行されると想定しています。しかし、私はこれを機能させる方法を知りません。

これを邪魔にならないようにする方法はありますか?

どうもありがとうございます :)

PS:jqueryを使用したIM

4

4 に答える 4

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 に答える
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と呼ばれるdiv内に配置します。結果; この方法で結果を取得できます...

$('#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/

簡単にするために、これを使用することができます。1回の呼び出し

$('.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 に答える