Вы все усложняете простую задачу; в диалоговом окне jQueryUI есть два способа установки кнопок по определенной причине.
Если вам нужно только установить обработчик щелчка для каждой кнопки, используйте параметр, который принимает аргумент Object
. Для отключения кнопок и предоставления других атрибутов используйте параметр, который принимает аргумент Array
.
В следующем примере кнопка будет отключена и будет корректно обновляться ее состояние путем применения всех CSS-классов и атрибутов jQueryUI.
Шаг 1 - Создайте свой диалог с помощью Array
кнопок:
// Create a dialog with two buttons; "Done" and "Cancel".
$(".selector").dialog({ buttons: [
{
id: "done"
text: "Done",
click: function() { ... }
},
{
id: "cancel"
text: "Cancel",
click: function() { ... }
}
] });
Шаг 2 - Включить / отключить кнопку Готово после создания диалогового окна:
// Get the dialog buttons.
var dialogButtons = $( ".selector" ).dialog("option", "buttons");
// Find and disable the "Done" button.
$.each(buttons, function (buttonIndex, button) {
if (button.id === "done") {
button.disabled = true;
}
})
// Update the dialog buttons.
$(".selector").dialog("option", "buttons", dialogButtons);