Sia che il bottone sia un tag input che botton puoi impostare, ad entrambi l'attributo disabled, valorizzato a disabled, per rendere l'elemento disabilitato.
Ora se ho capito bene, cliccando su un opzione della lista il pulsante dovrà essere riattivato, se vuoi fare questo dovresti, non ricordo molto bene, ma dovresti far eseguire l'evento onChange della lista. in questo modo:
Codice HTML:
<select onChange="funzione_da_eseguire">..</select>
Non so se mi sono spiegato, ma la funzione da eseguire dovrebbe prendere il valore dell'opzione selezionata nel select, se il valore e vuoi, se non ricordo male, vuol dire che non e stato selezionato nessun elemento, altrimenti dovresti inserire al bottono, come detto sopra, l'attributo disablet, sempre che non sia già presente, visto che non e stata selezionata nessuna opzione, mentre, se l'opzione non risulta vuota, se hai selezionato un'opzione, dovresti eliminare quell'attributo per rendere il pulsante di nuovo attivo, se il pulsante a un'attributo id:
Codice HTML:
document.getElementById("id_pulsante").removeAttribute("disabled")
Spero di essere stato chiaro, almeno questo e quello che farei io nella tua situazione.