我通过点击链接将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;
});
});
答案 0 :(得分:1)
您还没有将具有该ID的元素添加到页面中,因此您的选择器不会产生任何结果。你需要做这样的事情:
var element = $(html);
$('body').append(element);
$('#dialog').dialog();
同时强>:
你真的不应该在每次点击事件上设置ajax默认值(这是一个全局设置)。如果您需要指定$.getJSON
未提供的其他参数,则应直接调用$.ajax
。