我有一个网站,其中有很多确认页面,需要一个对话窗口。我想知道是否有更好的方法来编写我的代码,这样我就不必每次都拼出所有的对话框参数。每个对话框可能有一个不同的东西。通常完整的按钮功能不同。
例如:
$('#dialogA').dialog(
{
autoOpen:false,
width: 800,
modal: true,
resizable: false,
closeOnEscape: false,
buttons:
{
"Complete": function()
{
//DO SOMETHING FOR A(possible print results of something)
}
}
});
和另一个
$('#dialogB').dialog(
{
autoOpen:false,
width: 800,
modal: true,
resizable: false,
closeOnEscape: false,
buttons:
{
"Complete": function()
{
//DO SOMETHING FOR B (possibly some ajax call)
}
}
});
所以唯一改变的是完成按钮的功能。在外行人的条件中我猜我想设置一个包含所有对话框参数的变量....
答案 0 :(得分:1)
扩展jQuery:
(function ($) {
$.fn.extend({
confirmDialog: function (options) {
var defaults = {
autoOpen:false,
width: 800,
modal: true,
resizable: false,
closeOnEscape: false,
buttons:
};
var options = $.extend(defaults, options);
$(this).dialog(options);
}
}
})(jQuery);
并将其称为:
$('#dialogB').dialog({Complete: function() { … }; });
您也可以在调用对话框时覆盖默认值...