2011-09-21 23 views
1

私は、リンクをクリックするとダイアログエレメントに動的に追加されているdiv内のテキストを置き換えようとしています。JQueryで動的に追加された要素を取得する

var feedBackDialog; 
    if(!feedbackDialog){ 
     $(".feedback_link").click(function() { 
      //set contents of the dialog 'feedback-dialog' 
      $.get("https://stackoverflow.com/users/feedback", null, function(result) { 

       feedBackDialog = $("#feedback-dialog").html(result). //set html content during callback 
        attr('title', title). 
        dialog({ autoOpen: true, width: 560, modal: true 
      }); 
     }); 
     } 
    else 
    { 
     feedbackDialog.dialog({ autoOpen: true, width: 560, modal: true }); 
    } 
    //change the text in the newly created element. 
    $('#feedback-label').text($(this).attr('feedback_desc')); 

私がフェッチしているhtmlには、idがfeedback-labelの要素が存在します。ただし、最後の行の$('#feedback-label')は、DOMがリフレッシュされていないため機能しません。

私は$("#feedback-dialog").find('#feedback-label')をやってみましたが、一貫して動作していないようです。誰もこの新しく作られた要素を得る良い方法を知っていますか? 私は単にhtmlの文字列を<div id="feedback_label"></div>の内容に置き換えることができますが、私はより良い方法を探しています。

答えて

2

移動$.getのコールバック関数への最後の行を、Ajax呼び出しが終了したときに内容が唯一可能な状態になりますので:

$.get("https://stackoverflow.com/users/feedback", null, function(result) { 
     $("#feedback-dialog").html(result). //get HTML 
           attr('title', title). 
           dialog({ autoOpen: true, width: 560, modal: true }); 
     $('#feedback-label').text($(this).attr('feedback_desc')); //change the text in the newly created element. 

}); 
+0

アイデアは正しいようですが、テキストは最初のクリックでdivに追加されません。 – arviman

+0

エラーメッセージが表示されますか? –

+0

エラーメッセージは表示されません。私は問題がjqueryのダイアログにdivを変更する前に作成されているので、テキストが含まれていないという事実にあると私は信じています。 – arviman

3

ドミノがリフレッシュされていないためではありません。これは、完了していないAJAXリクエストを作成しているためです。成功コールバックにコードの行を追加して、あなたは黄金のようになります。

$.get("https://stackoverflow.com/users/feedback", null, function(result) { 
    $("#feedback-dialog").html(result).attr('title', title).dialog({ autoOpen: true, width: 560, modal: true }); 
    $('#feedback-label').text($(this).attr('feedback_desc')); 
}); 
+0

+1。しかし、この問題は、最初にダイアログに値が含まれていないように見えることです。 – arviman

関連する問題