Попытка открыть несколько диалоговых окон jQuery UI и загрузка их при нажатии - PullRequest
0 голосов
/ 16 августа 2011

Я пытаюсь открыть несколько диалогов через несколько ссылок с одним и тем же классом, но загружаю содержимое только при нажатии на ссылку открытого диалога,
Так что я играл с решением Nemikor для динамической загрузки контента, и подход с несколькими диалоговыми окнами Ника 1005 *, и придумал этот код:

$(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;  
      });
});

Когда я загружаю страницу, первая ссылка, по которой я щелкаю (неважно, какая), работает отлично,
Но если я нажму еще один - браузер перейдет к содержимому, а не откроет его в диалоговом окне, и отправит сообщение об ошибке:

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

Пожалуйста, помогите!

1 Ответ

1 голос
/ 16 августа 2011

Это небольшой скрипт, который я написал для создания (вроде) динамических диалоговых окон

$(".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>

Я видел динамику, потому что я передаю не контент, а динамику при открытии предопределенного контента

...