Creé una función jQuery para hacer esta tarea un poco más fácil. Probablemente ahora hay una mejor solución ... de cualquier forma, aquí están mis 2cents.:)
Sólo añadir esto a su archivo JS:
$.fn.dialogButtons = function(name, state){
var buttons = $(this).next('div').find('button');
if(!name)return buttons;
return buttons.each(function(){
var text = $(this).text();
if(text==name && state=='disabled') {$(this).attr('disabled',true).addClass('ui-state-disabled');return this;}
if(text==name && state=='enabled') {$(this).attr('disabled',false).removeClass('ui-state-disabled');return this;}
if(text==name){return this;}
if(name=='disabled'){$(this).attr('disabled',true).addClass('ui-state-disabled');return buttons;}
if(name=='enabled'){$(this).attr('disabled',false).removeClass('ui-state-disabled');return buttons;}
});};
botón Desactivar 'OK' en diálogo con 'diálogo' clase:
$('.dialog').dialogButtons('Ok', 'disabled');
permitir a todos los botones:
$('.dialog').dialogButtons('enabled');
Habilitar el botón 'Cerrar' y cambiar el color:
$('.dialog').dialogButtons('Close', 'enabled').css('color','red');
texto en todos los botones rojos:
$('.dialog').dialogButtons().css('color','red');
espero que esto ayude :)
ver las respuestas en este hilo: http://stackoverflow.com/questions/577548/how-can-i-disable-a-button -en-un-jquery-diálogo-de-una-función – Erik
@Erik - La situación ha cambiado un poco desde esas respuestas, es decir, por el complemento '.button()', por lo que no son necesariamente las mejores/más limpias soluciones más. –