2011-11-09 8 views
0

hiainnerhtmlを使用したiframeポストバック後のreinit jquery

私はいくつかのjqueryものを試しています。単純に、基本的に:それはテーブルのあるページです。私はonmouseover/outのためのtrと行をクリックするとトグルに効果を作り出すsimpe jqueryを持っています。行をクリックすると、HTTPリクエストがiframeに送信され、2つの新しいテーブルが生成され、innerHTML javascriptを使用して親ウィンドウに書き戻されます。

iframe内から作成された新しいテーブルは、onmouseover/outエフェクトと同じjqueryを使用します。 $(document).ready(function()は過去の実行であり、新しく挿入されたテーブルを '処理'していないと仮定しているので、これは機能しません)。 ()をiframe内から呼び出すだけではなく、実行されていないので、親に戻ってjavascriptを書き込むだけで済みます(単純な 'alert'を使ってテストすることもできます)。

$(document).ready(function(){ 
    initjquery() 
}); 

function initjquery(){ 
     $("#jqtbody tr").bind("mouseover", function(e){ 
      $(this).toggleClass("highlighted"); 
     }); 
     $("#jqtbody tr").bind("mouseout", function(e){ 
      $(this).toggleClass("highlighted"); 
     }); 
    } 

http://beta2.nextron.ch/temp/unibas.jpg

(申し訳ありませんが、私は、私はまだここに画像をインレイし、新たな許可されていないですよ)、いくつかの視覚的な「ヘルプ」の画像を見ます何か助けてくれてありがとう!

ルーカス

+0

jqueryの 'live'メソッドを試しましたか? –

答えて

0

次の操作を実行してみてください。

  • 1)彼らは
  • 2を要求されたときに、動的テーブルを保持するためのプレースホルダを作成する)あなたはhttpリクエストを発射するとき、返すようにしてください(テーブルのHTMLソース)リクエストが到着したら、$(プレースホルダ).append(htmlOfTheDynamicTable)
  • のプレースホルダにこのテーブルを配置します。

このアプローチを使用し、append()を使用することにより、jQueryは自動的にその要素のすべてのイベントもロードします。直接innerHTML(または、jQueryスタイルで$(target).html(html))を使用すると、動的に読み込まれたHTMLに「必要がある」というイベントは機能しません。

関連する問題