2010-01-12 2 views
17

Я определил диалог с 2 кнопками: ok + cancel. то, что я хочу сделать сейчас изменить функцию кнопки ОК после инициализации, так что я пробовал:jQuery: диалоговый вопрос - кнопка изменения после init

dlgPrompt.dialog({ 
    buttons: { 
     'Ok': function() { 
      myFunction(); 
      $(this).dialog('close'); 
     } 
    } 
}); 

, к сожалению, он не работает (при нажатии ОК, ничего не происходит). Кто-нибудь знает, что случилось?

ТНХ

ответ

35

Вам нужно вызвать метод 'option', как это:

dlgPrompt.dialog('option', 'buttons', { 
    'Ok': function() { 
     myFunction(); 
     $(this).dialog('close'); 
    } 
}); 
+0

Еще работает с 3.2.1 ... и предпочтительный метод изменяя диалоговые кнопки после init – GoldBishop

4
dlgPrompt.parent().find(".ui-dialog-buttonset .ui-button-text:eq(0)").text("FirstButton"); 
dlgPrompt.parent().find(".ui-dialog-buttonset .ui-button-text:eq(1)").text("SecondButton"); 

и т.д ..

+0

долго, но выполнимо .... я определенно не предлагаю, чтобы кто-нибудь это делал, если только они не использовали все другие альтернативы. – GoldBishop