JQuery UI диалог не работает с контентом AJAX - PullRequest
0 голосов
/ 31 августа 2011

Я загружаю контент AJAX в диалог пользовательского интерфейса jquery, нажимая на ссылку, но, похоже, он не работает.Проблема с всплывающим окном, ссылка возвращает содержимое AJAX нормально.Попытка реализовать этот пример

$.fx.speeds._default = 1000;
$(document).ready(function(){
        $( "#dialog" ).dialog({
            autoOpen: false,
            show: "blind",
            hide: "explode"
        });

    $('#<url_id>').live('click', function(evt) {
        //evt.preventDefault();
                        $.ajaxSetup({
                            async: false,   
                            "error":function() {   
                                alert("error");
                        }});
                        $.getJSON("<url>", 
                        function(data) {
                            if(data[0][0] != null){
                                var html = '';
                                html += '<div id="dialog" title="Basic dialog">';
//concatenating html
                                html += '</div>';
                            }                       
                        });
            $( "#dialog" ).dialog( "open" );
            return false;
    }); 
});

1 Ответ

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

Вы еще не добавили элемент с этим идентификатором на страницу, поэтому ваш селектор не дает результатов. Вам нужно сделать что-то вроде этого:

var element = $(html);
$('body').append(element);
$('#dialog').dialog();

Также : Вы действительно не должны устанавливать ajax по умолчанию для каждого события клика (это глобальная настройка). Если вам нужно указать дополнительные параметры, которые $.getJSON не предоставляет, вам нужно просто вызвать $.ajax напрямую.

...