如何删除jquery对话框中的按钮?例如,我尝试使用正确的新选项重新调用.dialog,但对话框似乎不受影响。
$('。selector')。dialog('option','buttons',{});不起作用,如果声明了实际的新按钮字符串和函数,它也不起作用。
思想?
答案 0 :(得分:13)
您正在以错误的方式传递新按钮。选项应作为对象传递。
这将有效:
var options = {
buttons: {}
};
$(selector).dialog('option', options);
无需销毁和创建新对话框。
当然,如果您愿意,也可以使用一组新按钮替换按钮对象:
var options = {
buttons: {
NewButton: function () {
$(this).dialog('close');
// add code here
}
}
};
$(selector).dialog('option', options);
答案 1 :(得分:4)
FWIW,
$(".dialog").dialog("option", "buttons", null);
答案 2 :(得分:2)
加载对话框时无法添加/设置按钮。
答案 3 :(得分:0)
您需要先destroy
当前的那个。然后你可以用你想要的新选项制作一个新的。
编辑(回复评论): 我不知道该告诉你什么。我在我的网站和WFM上做了以下内容。
$('.selector').dialog('destroy');
$('.selector').dialog({ buttons: { "Ok": function() { $(this).dialog("close"); } } });
$('.selector').dialog('open');
您需要返回pre-init状态才能更改按钮,这是destroy
所做的。也许我对步骤不够清楚。
答案 4 :(得分:0)
此处的讨论更好:http://www.nabble.com/jQuery-dialog-add-remove-button-on-the-fly-td22036498s27240.html
添加规定的扩展名,你可以使用addbutton和removebutton(应该自然地切换到驼峰的情况下):
答案 5 :(得分:0)
另外,也许最简单,最灵活的方法是通过CSS。 (如果你将来最终需要它们怎么办......)。
看起来像:
.ui-dialog-titlebar-close{display:none}
如果您只想为某些对话框执行此操作,则可以在初始化对话框时添加dialogClass:
选项,并且您的css将如下所示(例如,您已将myDialogClass添加为dialogClass,因此整个对话框容器将可通过此课程访问:
.myDialog .ui-dialog-titlebar-close{display:none}
祝你好运定制!