2009-05-16 4 views
0

を.LOADjQueryのは、私は、検索フォームフィールドを持つWebページを持っているし、送信ボタン のクリック時に、私はAjax呼び出しを行い、結果がページングを処理するために、ページングのリンクを持っているAjax.BeginForm</p> <p>を使用して結果をdiv要素を埋める。問題

問題はAjax呼び出しの後で、ページングリンクの1つがクリックされたときに発生するこのJqueryコードがあります。しかし、彼らは発砲しない。

これはAjaxコールを使用してdivが埋められたためですか?

私はそのコードを送信ボタンのクリックを使ってテストしたところ、それはうまくいきました。ちょうどページングリンクは火を消さない。

$('.pagerlinks a').click(function() { 
     $('#resultsdiv').load('Search/Advanced', {Keywords=keywords, etc }); 
}); 

答えて

2

それを行うための別の方法は$.loadの2番目のパラメータとして呼ばれる、コールバック関数に再バインドすることです:

function initPagerlinks() 
{ 
    $('.pagerlinks a').click(function() { 
      $('#resultsdiv').load('Search/Advanced', {Keywords=keywords, etc }, initPagerlinks); 
    }); 
} 

$(document).ready(function() { 
    initPagerlinks(); 
}); 
3

私は創造の任意の時点で、指定されたすべての要素に特異的に結合することができるようにjqueryの中に生きて結合機能を使用します。

http://docs.jquery.com/Events/live

はまた、DOM readyイベントにあなたのコードの火のですか?以下のように:

$(function() { 
$('.pagerlinks a').click(function() { 
     $('#resultsdiv').load('Search/Advanced', {Keywords=keywords, etc }); 
}); 

}); 
+0

はい、私は準備ができて、イベントがコード化されています。私はこのライブバインディングを試みます。しかし、私がやったことはうまくいったのですか? – Malcolm

+0

ライブバインドは私のために働く –

0

2つの解決策があります 1.機能をロードするために追加しますコールバックは、ロードされたコンテンツのイベントを設定します。 2.ライブイベント:

$("p").live("click", function(){ $(this).after("Another paragraph!"); }); http://docs.jquery.com/Events/live