Si dovrebbe aggiungere/rimuovere la classe "ui-stato disabilitato" per ogni elemento di intestazione (vale a dire "<h3> ") che si desidera disabilitare/abilitare. Quindi utilizzare:
$("#accordion").on("accordionbeforeactivate", function(){
return ! arguments[1].newHeader.hasClass("ui-state-disabled");
})
Per aggiungere/rimuovere una classe dyanamically, uso:
$("selector").addClass("ui-state-disabled");
$("selector").removeClass("ui-state-disabled");
È possibile aggiungere un meaningul attributo "id" per ciascun elemento di intestazione di semplificare la parte "selettore". Ad esempio, "step-1", "step-2", "step-n" per ogni passaggio che l'utente deve percorrere lungo il flusso di lavoro.
È possibile provare il seguente se si è positivo circa la posizione della scheda per essere disabilitare ha:
// Disable the first tab
$("#accordion > h3:first-child").addClass("ui-state-disabled");
// Make sure the fourth tab is enabled
$($("#accordion > h3")[3]).removeClass("ui-state-disabled");
Si noti inoltre che l'utilizzo di "ui-stato-disabile" è in realtà significativa perché renderà l'intestazione ombreggiato (o qualunque sia il tema che rende disabilitate le cose).
Un'altra nota, se la scheda dinamicamente disabilitante è attualmente attiva, non farà nulla di speciale (cioè non collasserà o non attiverà un'altra scheda). Puoi aggiungere logica extra per attivare una tab predefinita o fare qualsiasi altra cosa.
fonte
2013-07-23 03:03:07
E 'un peccato che l'utente non può disabilitare che in anticipo ... –
Un utente potrebbe assolutamente disabilitare una cosa del genere usando qualcosa come Greasemonkey per modificare il codice JavaScript per il sito. – artlung
ovviamente, e con js console si può giocare, cambiare il dom, eseguire il codice js e così via ... Devo preoccuparmi di questo quando voglio una bella rappresentazione di una fisarmonica? –