2011-03-23 59 views
7

我該如何設置jquery ui對話框的默認值? 例如,這是我怎麼在jQuery UI的日期選擇器的默認設置:如何設置jquery UI對話框的默認值

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

我無法找到該對話框 文檔中相同的功能(http://docs.jquery.com/UI/Dialog)

回答

11

我找到了解決辦法

$.extend($.ui.dialog.prototype.options, { modal: true, width: 650 }); 
+0

'$ .extend'變異的第一個參數。您將最終將堆疊屬性放入'options'對象中。請參閱在@ Groovetrain的答案中使用空散列的提及。 – 2011-03-24 04:37:51

+1

這是目標:改變默認選項對象... – Softlion 2011-11-08 16:55:29

+0

如果您想更改默認選項,這是原始問題要求的,這是一個很好的解決方案。 – 2012-03-12 11:26:23

7

有針對AFAIK沒有內置的功能,但我通常做的是建立他們自己在一個單獨的哈希像這樣的內容:

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

然後,當我創建對話框,我使用jQuery的擴展方法讓他們工作,像這樣:

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

傳入的第二組參數將覆蓋/合併dialog_defaults變量中的任何參數。只要確保你把空的散列({})放在那裏,或者你的默認值將被覆蓋,這在過去讓我感到困擾。