动态更改jQueryUI对话框按钮

试图动态更改多个jQuery UI对话框()按钮。

下面代码的问题是在对话框的第一个实例中只显示一个按钮()。 应显示两个按钮。

jsFiddle这里 :

$(function(){ var dlg = $('#message'); dlg.dialog({ autoOpen:false, modal:true, width: 500, close: function() { if (seen==0 && ans > 0) { cnt++; seen++; dlg.html('Here is a second message'); dlg.dialog( 'option', 'buttons', [{ text: 'OK', click: function() { $(this).dialog('close'); } }] ); dlg.dialog('open'); } } }); $('#myDiv').hover( function() { //Hover-in if (cnt  2 && cnt  5 && cnt < 7)) { var msg = 'First display text goes here'; dlg.html(msg); dlg.dialog( 'option', 'buttons', [{ text: 'Download', click: function() { ans++; $(this).dialog('close'); }, text: 'Not now', click: function() { $(this).dialog('close'); } }] ); dlg.dialog('open'); } cnt++; }, function() { //Hover-out //need this to prevent duplicating hover-in code (double-display dlg) } ); }); //END document.ready 

我试图使用buttonsObject类型,它的工作原理:

 dlg.dialog( 'option', 'buttons', { "Download": function () {...}, "Not now": function () {...} } ); 

查看更新的jsFiddle

对象 :键是按钮标签,值是单击关联按钮时的回调。

编辑:但你的数组中有一个错误,你必须有一个对象数组,并且缺少{}

 'buttons', [ { text: "Download", click: function () {...} }, { text: "Not now", click: function () {...} } ] 

看到你的jsFiddle的更正