# Collection\_select e html\_options

**URL:** <https://www.ruby-forum.com/t/collection-select-e-html-options/148122>\
**Category:** IT\
**Created:** [September 9, 2008, 3:42pm UTC](https://www.ruby-forum.com/t/collection-select-e-html-options/148122 "2008-09-09T15:42:27Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![softwarewin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5f9b8f/32.png) [@softwarewin](https://www.ruby-forum.com/u/softwarewin)\
**Post date:** [September 9, 2008, 3:42pm UTC](https://www.ruby-forum.com/t/collection-select-e-html-options/148122/1 "2008-09-09T15:42:27Z")

</div>

Ciao a tutti,

ho 2 combo box “condizionate”: se la prima assume un valore, allora la  
seconda deve presentare solo determinate opzioni; provo a fare questa  
cosa con ajax, mettendo al seconda combo in un div e chiamando una  
remote\_function sull’onChange della prima per riscrivere la seconda  
combo;

prima combo

\<%= collection\_select(“tripop#{i}”, :triptype\_id, @triptypes, :id,  
:name, {:with =\> “‘tripsel=’ +this.options[this.selectedIndex].value”},  
{:onChange =\> remote\_function(:update =\> “structtype#{i}”, :url =\>  
{:action =\> :change\_values\_structtype, :iteration =\> i}, :position =\>  
“replace”) }) %\>

non mi sono chiare 2 opzioni:

se voglio passare l’indice della selezione della prima combo, o il  
valore, (tripsel) uso l’opzione :with =\> ma nell’action se faccio  
render :text =\> “triptype\_id = #{params[:tripsel]}” mi da vuoto

vorrei scatenare la funzione ajax solo se la prima combo ha un certo  
valore, mi sembra di aver capito che si deve usare

":condition: Perform remote request conditionally by this expression.  
Use this to describe browser-side conditions when request should not be  
initiated. "

cosa scrivo nella condition ?  
io scriverei così …  
:condition =\> this.options[this.selectedIndex].value == 2  
… ma non funzia…

P.S.

Non è che conoscete dei link in cui ci sono degli esempi con queste due  
opzioni… non ne ho trovato mezzo…

Grazie a tutti.

Luigi
