如何设置jQuery UI对话框默认值

uri*_*riz 8 jquery-ui jquery-ui-dialog

如何设置jQuery UI对话框的默认值?例如,这就是我在jQuery UI datepicker中设置默认值的方法:

$.datepicker.setDefaults({ dateFormat: 'dd/mm/yy' });
Run Code Online (Sandbox Code Playgroud)

我在对话文档中找不到相同的功能

uri*_*riz 15

我找到了解决方案

$.extend($.ui.dialog.prototype.options, { modal: true, width: 650 });
Run Code Online (Sandbox Code Playgroud)


Gro*_*ain 8

该AFAIK没有内置功能,但我通常做的是将它们自己设置为一个单独的哈希,如下所示:

var dialog_defaults = {
  autoopen: false,
  buttons: {
    close: function() { $(this).dialog('close'); }
  }
};
Run Code Online (Sandbox Code Playgroud)

然后当我创建对话框时,我使用jQuery的extend方法使它们工作,如下所示:

$('#divvie').dialog(
  $.extend({}, dialog_defaults, {
    autoopen: true
  })
);
Run Code Online (Sandbox Code Playgroud)

传入的第二组参数将覆盖/合并dialog_defaults变量中的任何内容.只要确保你把空的hash({})放在那里,否则你的默认值会被覆盖,这在过去就被咬了.