Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set jQuery UI dialog defaults

How do I set the default values for the jQuery UI dialog? For example, this is how I set the defaults in the jQuery UI datepicker:

$.datepicker.setDefaults({ dateFormat: 'dd/mm/yy' });

I couldn't find the same functionality in the dialog documentation

like image 549
uriz Avatar asked Mar 23 '11 18:03

uriz


2 Answers

I found a solution

$.extend($.ui.dialog.prototype.options, { modal: true, width: 650 });
like image 142
uriz Avatar answered Jan 18 '23 12:01

uriz


There's no built-in functionality for that AFAIK, but what I usually do is set them myself in a separate hash like this:

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

Then when I create the dialog, I use jQuery's extend method to make them work, like this:

$('#divvie').dialog(
  $.extend({}, dialog_defaults, {
    autoopen: true
  })
);

The second set of arguments you pass in will overwrite/merge with whatever's in the dialog_defaults variable. Just make sure you put the empty hash ({}) in there, or your defaults will get overwritten, that's bitten me in the past.

like image 23
Groovetrain Avatar answered Jan 18 '23 10:01

Groovetrain