我目前正在努力學習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