Se você estiver incluindo o .button()
plug - in / widget que a jQuery UI contém (se você possui a biblioteca completa e está no 1.8+, você o possui), você pode usá-lo para desativar o botão e atualizar o estado visualmente, assim:
$(".ui-dialog-buttonpane button:contains('Confirm')").button("disable");
Você pode experimentá-lo aqui ... ou, se você estiver em uma versão mais antiga ou não estiver usando o widget de botão, poderá desativá-lo assim:
$(".ui-dialog-buttonpane button:contains('Confirm')").attr("disabled", true)
.addClass("ui-state-disabled");
Se você quiser dentro de uma caixa de diálogo específica, diga por ID e faça o seguinte:
$("#dialogID").next(".ui-dialog-buttonpane button:contains('Confirm')")
.attr("disabled", true);
Em outros casos em que :contains()
pode dar falsos positivos, você pode usar .filter()
assim, mas é um exagero aqui, pois você conhece seus dois botões. Se esse for o caso em outras situações, seria assim:
$("#dialogID").next(".ui-dialog-buttonpane button").filter(function() {
return $(this).text() == "Confirm";
}).attr("disabled", true);
Isso impediria a :contains()
correspondência de uma substring de outra coisa.