Hola alexei,
Creo que falta que aportes datos, pues no especificas si el campo de tipo texto que se ha de mostrar haya de ser el mismo o dos distintos. Tampoco especificas si el segundo selector ha de estar o no a la vez con el campo de texto.
Esas son mis dudas. De todas formas te hice un ejemplo, prueba a ver si te sirve o en base a él yá eres capaz de hacerle los cambios que sean oportunos.
Código PHP:
<script>
function cambiar(cual,que)
{
if(cual.selectedIndex == 0){return false}
else
{
switch (cual.value)
{
case "material" :
que.pepe.style.display = 'inline';
que.precio.style.display = 'none';
break;
case "origen":
que.pepe.style.display = 'inline';
que.precio.style.display = 'none';
break;
case "precio":
que.precio.style.display = 'inline';
que.pepe.style.display = 'none';
break;
}
}
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
<select name="opciones" onchange = "cambiar(this,this.form)">
<option>Selecciona</option>
<option value="material">material</option>
<option value="origen">origen</option>
<option value="precio">precio</option>
</select>
<select name="precio" style="display:none">
<option>Selecciona</option>
<option>Menos de 30</option>
<option>de 30 a 100</option>
<option>más de 100</option>
</select>
<br>
<input type="text" name="pepe" style="display:none">
</form>
</body>
Yá me dirás si te sirvió
saludos