Hola
A ver si es a esto a lo que te refieres
Código Javascript
:
Ver originalfunction activar(val){
var campText = document.getElementById('contenedor').getElementsByTagName('*');
for (i = 0; i < campText.length; i++) {
if (val == '') {
campText[i].disabled = false;
} else {
if (campText[i].id != '') continue;
campText[i].disabled = true;
}
}
}
<form name="form">
<select name="campo1[]" id="campo1[]" onChange="activar(this.options[this.selectedIndex].value)">
<option value="">-- seleccione uno --</option>
<option value="1">Rojo</option>
<option value="2">Verde</option>
<option value="3">Amarillo</option>
</select>
<div id="contenedor">
<input type="text" name="campo1">
<input type="text" name="campo2" id="campo2" value="Este no se desabilitará">
<input type="text" name="campo3">
<input type="text" name="campo4">
<br />
<input type="radio" name="rad[]" />
<input type="radio" name="rad[]" />
<br />
<textarea name="txtarea">Alguna cadena</textarea>
<br />
<input type="text" name="campo5" id="campo5" value="Este no se desabilitará">
</div>
</form>
Suerte