Ho creato una funzione jQuery per rendere questo compito un po 'più semplice. Probabilmente ora c'è una soluzione migliore ... in entrambi i casi, ecco i miei 2 centesimi. :)
Basta aggiungere questo al tuo file 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;}
});};
Disabilita il pulsante 'Ok' nella finestra di dialogo con la finestra di dialogo 'classe':
$('.dialog').dialogButtons('Ok', 'disabled');
Abilita tutti i pulsanti:
$('.dialog').dialogButtons('enabled');
Abilita il pulsante 'Chiudi' e cambia colore:
$('.dialog').dialogButtons('Close', 'enabled').css('color','red');
Testo su tutti i pulsanti rosso:
$('.dialog').dialogButtons().css('color','red');
Spero che questo ti aiuti :)