Pues es 3/4 de lo mismo solo q cambia el evento. En lugar de onclick debes usar onchange en el select.
Luego agregas a la funcion lo necesario para obtener el valor seleccionado. Lo voy a simplificar para q sea mas simple:
Código HTML:
<script language="javascript" type="text/javascript">
<!--
function habilitadeshabilita (f,camposelect,campotexto) {
//Obtento el indice
var indice=camposelect.selectedIndex;
//Miro si el indice corresponde con el valor de OTRO
if (indice==valor_de_OTRO) {
//Si coincide activo el campo de texto
campotexto.disabled=false;
} else {
//Desactivo el campo pues no coincide
campotexto.disabled=true;
}
}
//-->
</script>
Y en el formulario:
Código HTML:
<select onchange="habilitadeshabilita (this.form,this,this.nombre_campo_texto)">
Aqui las opciones...
</select>
<input type="text" name="nombre_campo_texto" disabled>
Añadir más atributos es decisión tuya. Si sabes de javascript no tendrás muxos problemas en hacerlo de otra forma.
Espero q te sirva de ayuda.
Saludos.