A parte che non ho mai visto il tag option con l'attributo name al posto di value.

Dovresti sostituire quell'attributo, ma non con stesso valore, altrimenti quale valore prende se tutti hanno lo stesso valore.

Guarda, fai bene a fare una funzione con tutte le if, ma se metti ad ogni attributo value il valore che dovrebbe assumere il campo di testo, se selezionato, ti basta mettere, all'interno dell'evento onChange() del select, una semplice operazione.

Prova questo esempio ( senza usare la funzione prezzo ):

codice:
<form name="form1">
 <select name="select" onChange="document.form1.prezzo.value = document.form1.select.value">
   <option value="10€">10€</option>
   <option value="15€">15€</option>
 </select>
 
 <input type="text" name="prezzo" />
</form>
O di serve obbligatoriamente, anche per altro, la funzione prezzo?