2012-02-15 88 views
2

如何使用jquery动态地删除/隐藏“Ok”按钮?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'); 

不知道如何删除按钮。谢谢!

+0

你也可以考虑只包括一个id,当您创建按钮,这样就可以访问和操纵之后(见下文)。 – xtempore 2015-07-16 07:35:20

回答

10

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

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

传递一个空的对象文本中删除所有的按钮。这应该没问题,因为你似乎只有一个按钮。如果您有其他人,只需在拨打option方法时指定要保留的人。

+0

你打败了我。我本人要回答这个问题。完美的作品。非常感谢你! – tempid 2012-02-15 20:30:30

+0

没问题,很高兴我可以帮助:) – 2012-02-15 20:35:30

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'); 
    }); 
});​ 
5

一个用户界面对话框经常被忽视的特点是,你可以设置按键的其他各种属性,包括“类”和“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();