我有以下jQuery代码:
$('body').append('<div id="lang-dialog"></div>');
$('#lang-dialog').load('URL HERE...');
$('#lang-dialog').dialog({
modal: true,
draggable: false,
resizable: false,
autoOpen: false
});
$('a#lang').click(function(event)
{
event.preventDefault(); $('#lang-dialog').dialog('open');
});
这会使链接加载一个在DOM中创建的对话框,然后使用元素视图动态加载它的内容:app/views/elements/lang-dialog.ctp
如何使用CakePHP在我的jquery代码的load方法中吐出元素呢?
由于
答案 0 :(得分:2)
您需要将$('#lang-dialog').dialog(...)
调用移动到.load()
方法的成功回调中。否则,您将尝试在加载标记之前创建一个对话框(因为.load()
是异步的)。
您能用代码示例解释一下吗?
当然可以。
$('body').append('<div id="lang-dialog"></div>');
var $langDialog = $('#lang-dialog')
$langDialog.load('URL HERE...', function ()
{
$langDialog.dialog({
modal: true,
draggable: false,
resizable: false,
autoOpen: false
});
});
$('#lang').click(function()
{
$langDialog.dialog('open');
return false;
});