如何在jQuery UI对话框中刷新更改的按钮?

时间:2010-11-27 01:48:58

标签: javascript jquery jquery-ui jquery-ui-dialog

我有一个初始化的jQuery UI对话框

$('#jqDialog').dialog({
  autoOpen: false,
  modal: true,
  resizable: false,
  buttons: { 'Ok': function () { $(this).dialog('close'); } },
});

然后我想以编程方式更改按钮,而无需重新初始化插件实例。

$('#jqDialog')
  .dialog('options',
  { 
    buttons: {
      'Ok': function () {
        $(this).dialog('close');
        store(id);
      },
      'Cancel': function () { $(this).dialog('close'); }
    }
  })
  .dialog('open');

打开对话框窗口时,它仍然有原始按钮。使用Button插件,您必须调用.button(“refresh”)。是否有类似的方法需要使用Dialog插件调用?

3 个答案:

答案 0 :(得分:2)

您需要进行调整,方法名称为'option'(无s),如下所示:

.dialog('option',

即使对话框打开,you can test it out here

也可以

答案 1 :(得分:0)

代码中唯一错误的是使用单词options代替option,如下面的代码所示

$("jqDialog").dialog("option", "buttons", 
    { 
        "Ok": function() { 
            $(this).dialog("close"); 
        } 
    });

答案 2 :(得分:0)

您可以通过调用$ dlg.dialog('destroy')来破坏对话框。并重新评估你想要的对话框。