我目前正在努力学习OO Javascript,所以我可以写一些更干净的代码。在我下面的代码中,我使用JQuery UI对话框对象和我自己的类,以便我可以轻松地初始化大量的对话框。如何从函数返回初始化的对话框对象?
问题是函数没有返回对话框对象,所以我无法访问它的方法和属性。
/*
* Load AddTaskForm dialog
*/
$('#AddTask').click(function()
{
/* Ajax request to load form into it */
$.ajax({
type: 'Get',
url: '/Planner/Planner/LoadAddTaskForm',
dataType: 'html',
success: function (AddTaskForm)
{
var d = new AddDialog();
var result = d.Dialog();
/* AddTaskDialog.html(AddTaskForm);
AddTaskDialog.dialog('open');*/
}
});
});
function AddDialog()
{
this.Dialog = function()
{
$('<div></div>').dialog(
{
width: 580,
height: 410,
resizable: false,
modal: true,
autoOpen: false,
title: 'Basic Dialog',
buttons:
{
Cancel: function()
{
$(this).dialog('close');
},
'Create Task': function()
{
}
},
close: function()
{
$(this).dialog('destroy').remove();
}
});
}
}
**更新的代码
/*
* Load AddTaskForm dialog
*/
$('#AddTask').click(function()
{
/* Ajax request to load form into it */
$.ajax({
type: 'Get',
url: '/Planner/Planner/LoadAddTaskForm',
dataType: 'html',
success: function (AddTaskForm)
{
var AddTaskDialog = $('<div></div>');
AddTaskDialog.dialog(AddTaskDialogOptions);
AddTaskDialog.html(AddTaskForm);
AddTaskDialog.dialog('open');
}
});
});
/*
* Add task dialog default options
*/
var AddTaskDialogOptions = {
width: 580,
height: 410,
resizable: false,
modal: true,
autoOpen: false,
title: 'Basic Dialog',
buttons:
{
Cancel: function()
{
$(this).dialog('close');
},
'Create Task': function()
{
}
},
close: function()
{
$(this).dialog('destroy').remove();
}
}
这工作
/*
* Load AddTaskForm dialog
*/
$('#AddTask').click(function()
{
var addTaskDialog = $('<div></div>');
addTaskDialog.dialog(AddTaskDialogOptions);
addTaskDialog.html('wowowo');
addTaskDialog.dialog('open');
});
,因为你不 “回” 的任何提示这不起作用
/* Ajax request to load form into it */
$.ajax({
type: 'Get',
url: '/Planner/Planner/LoadAddTaskForm',
dataType: 'html',
success: function (AddTaskForm)
{
var addTaskDialog = $('<div></div>');
addTaskDialog.dialog(AddTaskDialogOptions);
addTaskDialog.html(AddTaskForm);
addTaskDialog.dialog('open');
}
});
好点卢克。出于好奇心,我将如何返回对话框对象而不是函数? – chobo 2011-02-07 23:42:50
查看我的更新... – Luke 2011-02-07 23:51:52