2011-08-16 16 views
-1

同じクラスの複数のリンクで複数のダイアログを開きますが、開いているダイアログリンクをクリックしたときにのみコンテンツを読み込もうとしています
だから、私はページをロードすると複数のjQuery UIダイアログを開いてクリックしたときに読み込む

$(document).ready(function() { 
    $('.addBtn, .editBtn').each(function() { 
     var $link = $(this); 
     var $nextDiv = $(this).next('.editDialog'); 
     $.data(this, 'divObject', $nextDiv); 
     $.data(this, 'dialog', 
      $nextDiv.dialog({ 
        autoOpen: false, 
        title: $link.attr('title'), 
        width: 700, 
        height: 650 
       }) 
     ); 
    }).click(function() { 
     $.data(this, 'divObject').load($(this).attr('href')); 
     $.data(this, 'dialog').dialog('open'); 
      return false; 
     }); 
}); 

は、最初のリンク私は(どちらもかまいませんクリックしてください:VEのコンテンツを動的にロードするためにNemikor's solutionで演奏され、 とNick Craver's複数のダイアログ・アプローチ、 とは、このコードを思いつきました)完全に動作します、
しかし、彼女の1 - ブラウザではなく、ダイアログで開くのコンテンツに移動し、エラーメッセージを送信します。

Error: $.data(this, "divObject") is undefined 

を助けてください!

答えて

1

これは私がコンテンツを渡しますが、事前に定義されたコンテンツ

を開くことで、ダイナミックいないよので、私は一種のダイナミック見た私は(一種の)やって書いた小さなスクリプト動的なダイアログボックス

$(".dialog").dialog({ 
    autoOpen: false, 
    show: "blind", 
    hide: "explode", 
    draggable: false, 
    resizable: false 
}); 

$(".opener").click(function() { 
    diagId = ($(this).attr("id")); 
    $("." + diagId).dialog("open"); 
    return false; 
}); 

<a class="opener" id="SomeDiag"> 

<div class="dialog SomeDiag" title="DiagTitle"> 
    <p>blah blah blah copy copy copy</p> 
</div> 

です

関連する問題