Hi All, I want to use observe_field on multiple select box. following is my code <%= select_tag ''usa[states][]'', options_from_collection_for_select(state, :state, :state, nil), :multiple => true, :class=>"multi_select" %> <%= observe_field :usa_states_ , :url =>{:controller=>"logins",:action =>''multi_select_city'', :id=>''1''}, :update=> ''deliverable_city'' , :with => "'' state=''+document.getElementById(''usa_states_'').value+''&type=restaurant''", :on=>''click'' %> I want to select the city of the different State i selected through multiple select box. My problem is that i get only one value of a state when i click the multiple states i don''t where i''m goin wrong. Is it possible to use observe_field on multiple select box? Thanks & Regards, Salil Gaikwad -- Posted via http://www.ruby-forum.com/.
$(''usa_states_'').value will return the first selected item''s value. It doesn''t matter if it is a multiple select. Change your UI a bit. On Sep 16, 11:13 am, Salil Gaikwad <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Hi All, > > I want to use observe_field on multiple select box. > following is my code > > <%= select_tag ''usa[states][]'', > options_from_collection_for_select(state, :state, :state, nil), > :multiple => true, :class=>"multi_select" %> > <%= observe_field :usa_states_ , :url =>{:controller=>"logins",:action > =>''multi_select_city'', :id=>''1''}, :update=> ''deliverable_city'' , :with > => "'' > state=''+document.getElementById(''usa_states_'').value+''&type=restaurant''", > :on=>''click'' %> > > I want to select the city of the different State i selected through > multiple select box. > My problem is that i get only one value of a state when i click the > multiple states i don''t where i''m goin wrong. > Is it possible to use observe_field on multiple select box? > > Thanks & Regards, > > Salil Gaikwad > -- > Posted viahttp://www.ruby-forum.com/.
Hi All, I found out the solution for this using following link. 1) http://www.mredkj.com/tutorials/tutorial004.html 2) use following javascript to find out how many options are selected and pass it thorugh observe field. <script language="JavaScript" type="text/javascript"> function loopSelected(id) { var selectedArray = new Array(); var selObj = document.getElementById(id); var i; var count = 0; for (i=0; i<selObj.options.length; i++) { if (selObj.options[i].selected) { selectedArray[count] = selObj.options[i].value; count++; } } return selectedArray; } </script> Thanks & Regards, Salil Gaikwad -- Posted via http://www.ruby-forum.com/.