2010-11-27 3 views
3

私はjQuery UIダイアログで変更されたボタンを更新する方法は?

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

を初期化して、I/Oを再初期化するプラグインのインスタンスwのプログラムでボタンを変更したいされたjQueryのUIのダイアログを持っています。

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

ダイアログウィンドウが開いても、元のボタンはそのままです。 Buttonプラグインを使用すると、.button( "refresh")を呼び出す必要があります。ダイアログプラグインでも同様のメソッドを呼び出す必要がありますか?ただ微調整を必要とするあなたが持っている

答えて

2

は、メソッド名は、このよう'option'(なしs)です:

.dialog('option', 

これは働く場合でも、ダイアログのオープン、you can test it out here

+0

ありがとうございました。 ... – ChrisP

+0

@ChrisP - 私は少なくとも12回以上この特定の作業を行った...間違いなく直感的に名前を付けられた:) –

0

あなたのコード内で唯一間違ったことは、あなたが$ dlg.dialogを呼び出すことによって、ダイアログを最初に破壊する可能性が

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

単語optionsの使用の代わりに、次のコードのようにoptionです(「Destoryは」) 。必要なダイアログを再評価します。

+0

この方法では、すでにダイアログで設定されている他のオプションはすべて削除されます。私の目標は、さまざまな状況でダイアログを再利用することです。 – ChrisP

関連する問題