动态添加按钮到对话框

Kut*_*Kut 10 jquery user-interface

有没有办法动态地在jquery ui中的对话框中添加一个按钮.

我尝试使用:$(this).add("button");

JJS*_*JJS 25

有时您也想稍后添加按钮.

var mydialog = ... result of jqueryui .dialog()
var buttons = mydialog.dialog("option", "buttons"); // getter
$.extend(buttons, { foo: function () { alert('foo'); } });
mydialog.dialog("option", "buttons", buttons); // setter
Run Code Online (Sandbox Code Playgroud)

  • @Michael感谢你提到$ .merge和$ extend之间的区别.我不知道$ .merge存在.按钮确实接受对象或数组.http://api.jqueryui.com/dialog/#option-buttons.我正在使用对象变体,其中"键是按钮标签,值是单击相关按钮时的回调.".如果我添加了多个按钮,我可以看到使用带有$ .merge的数组的位置是可取的.感谢您指出我的示例的潜在问题,并且它与文档不同. (2认同)

cha*_*fer 9

这是在jQuery UI页面上回答的对话框... http://jqueryui.com/demos/dialog/(单击"选项"选项卡,然后单击"按钮"的链接)

"在初始化后获取或设置按钮选项"...

$( ".selector" ).dialog( "option", "buttons", { 
 "Ok": function() { $(this).dialog("close"); } 
} );
Run Code Online (Sandbox Code Playgroud)

只需添加适当的选择器(您使用的任何元素作为对话框),您应该好好去.