【发布时间】:2011-07-21 13:05:36
【问题描述】:
如何设置 jQuery UI 对话框的默认值? 例如,这是我在 jQuery UI 日期选择器中设置默认值的方式:
$.datepicker.setDefaults({ dateFormat: 'dd/mm/yy' });
我在dialog documentation 中找不到相同的功能
【问题讨论】:
标签: jquery-ui jquery-ui-dialog
如何设置 jQuery UI 对话框的默认值? 例如,这是我在 jQuery UI 日期选择器中设置默认值的方式:
$.datepicker.setDefaults({ dateFormat: 'dd/mm/yy' });
我在dialog documentation 中找不到相同的功能
【问题讨论】:
标签: jquery-ui jquery-ui-dialog
该 AFAIK 没有内置功能,但我通常会自己将它们设置在单独的哈希中,如下所示:
var dialog_defaults = {
autoopen: false,
buttons: {
close: function() { $(this).dialog('close'); }
}
};
然后当我创建对话框时,我使用 jQuery 的 extend 方法使它们工作,像这样:
$('#divvie').dialog(
$.extend({}, dialog_defaults, {
autoopen: true
})
);
您传入的第二组参数将覆盖/合并 dialog_defaults 变量中的任何内容。只需确保将空哈希 ({}) 放在那里,否则您的默认值将被覆盖,这在过去让我很痛苦。
【讨论】:
我找到了解决办法
$.extend($.ui.dialog.prototype.options, { modal: true, width: 650 });
【讨论】:
$.extend 改变第一个参数。您最终会将属性堆叠到 options 对象中。请参阅@Groovetrain 的答案中提到使用空哈希。