jQuery-ui对话框 - 使用jquery隐藏按钮

时间:2012-02-15 20:22:31

标签: jquery jquery-ui

如何使用jquery动态删除/隐藏“确定”按钮?

$('#dialog-save').dialog({
            autoOpen: false,
            modal: false,
            draggable: true,
            width: 275,
            height: 175,
            buttons: {
                "Ok": function () {
                    $(this).dialog("close");
                }
            }
        });

我可以使用此代码更改标题 -

var saveDialog = $('#dialog-save');
saveDialog.dialog('option', 'title', 'Message');

不确定如何删除按钮。谢谢!

4 个答案:

答案 0 :(得分:10)

您可以按照设置标题的相同方式设置buttons选项:

saveDialog.dialog("option", "buttons", {});

传入一个空对象文字以删除所有按钮。这应该没问题,因为你似乎只有一个按钮。如果您要拥有其他人,只需在调用option方法时指定要保留的内容。

答案 1 :(得分:6)

UI对话框的一个常被忽视的功能是您可以设置按钮的各种其他属性,包括“class”和“id”。如果您需要在实例化后操作按钮,这些非常有用。

例如......

$('#dialog-save').dialog({
        autoOpen: false,
        modal: false,
        draggable: true,
        width: 275,
        height: 175,
        {
            id: 'okBtn',
            text: "Ok",
            click: function () {
                $(this).dialog("close");
            }
        }]
    });

// And then at some other point in the code...
$('#okBtn').remove();

答案 2 :(得分:0)

这样的Juste不会显示按钮:

$('#dialog-save').dialog({
        autoOpen: false,
        modal: false,
        draggable: true,
        width: 275,
        height: 175
        }
    });

如果您想在显示对话框后删除它们 也许这样的事情;

How can I disable a button in a jQuery dialog from a function?

答案 3 :(得分:0)

试试这个fiddle

$(function(){
    $('#dialog-save').dialog({
            autoOpen: false,
            modal: true,
            draggable: true,
            width: 275,
            height: 175,
            buttons: {
                "Ok": function () {
                    $(this).dialog("close");
                }
            }
    });
    $('#dialog-save').dialog('open');
    $('.change').click(function(){
        $('#dialog-save').dialog("option",{buttons:{}});
        $('#dialog-save').dialog('open');
    });
});​