Как обновить измененные кнопки в диалоге пользовательского интерфейса jQuery? - PullRequest
3 голосов
/ 27 ноября 2010

У меня есть диалоговое окно 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 («обновить»).Есть ли подобный метод, который нужно вызывать с помощью плагина Dialog?

Ответы [ 3 ]

2 голосов
/ 27 ноября 2010

То, что у вас есть, просто нужно настроить, имя метода: 'option' (нет s), например:

.dialog('option',

Это работает, даже когда диалоговое окно открыто, вы можете проверить его здесь .

0 голосов
/ 27 ноября 2010

Вы можете сначала уничтожить диалог, вызвав $ dlg.dialog ('destory'). и переоцените диалог, который вы хотите.

0 голосов
/ 27 ноября 2010

Единственная неправильная вещь в вашем коде - это использование слова options вместо option, как в следующем коде

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