jquery ui对话不使用AJAX内容

时间:2011-08-30 21:46:56

标签: ajax jquery-ui jquery-ui-dialog

我通过点击链接将AJAX内容加载到jquery UI对话框中,但它似乎不起作用。问题是弹出窗口,链接返回ajax内容很好。试图实现这个example

$.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 个答案:

答案 0 :(得分:1)

您还没有将具有该ID的元素添加到页面中,因此您的选择器不会产生任何结果。你需要做这样的事情:

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

同时: 你真的不应该在每次点击事件上设置ajax默认值(这是一个全局设置)。如果您需要指定$.getJSON未提供的其他参数,则应直接调用$.ajax