jQuery UI对话框 - 无法删除按钮

时间:2009-07-15 17:37:24

标签: javascript jquery jquery-ui

如何删除jquery对话框中的按钮?例如,我尝试使用正确的新选项重新调用.dialog,但对话框似乎不受影响。

$('。selector')。dialog('option','buttons',{});不起作用,如果声明了实际的新按钮字符串和函数,它也不起作用。

思想?

6 个答案:

答案 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}

祝你好运定制!