Put the select into a partial then do this:
This is what I came up with a while back to re populate a select box
after a DB add.
Mop is just my main Table / form.
When you add the person to the db then do this:
@mop = Mop.find(params[:id])
a = Contact.all.collect{|p| [ p.id ] }
b = @mop.contacts.all.collect{|p| [ p.id ] }
c = a-b
ar = Array.new
c.each{|arr|
arr.each{|p|
ar << p
}
}
@contacts = Contact.find(:all, :conditions => ["id IN (?)",
ar]).collect {|p| [ p.name, p.id ] }
In the RJS do this:
page[:contact_id].replace :partial => 'updateContactList', :locals =>
{ :contacts => @contacts, :mop => @mop, :person => @person }
Partial similar to this:
<%= select('contact', 'id', @contacts, {:prompt => 'Select Contact'},
{ :onchange => remote_function( :url => { :controller =>
'contacts', :action => "ajaxshowcontact", :id => @mop},
:with => "'contactid=' +
this.value" )
} ) %>
On Aug 6, 2:46 pm, FabianF <[email protected]> wrote:
> I already have an onblur with the text field and another with the select
> field.
> This works fine, but I don`t know how to represent in the select list the
> corresponding name of the code typed in the text field.
>
> 2009/8/6 Me <[email protected]>
>
>
>
>
>
> > You probably need to put the select into a partial and then refresh
> > the partial when you return from the observe field. I would probably
> > go with an ajax "on blur" with the text field as this would put a bit
> > less load on the server.
>
> > On Aug 6, 2:06 pm, FF <[email protected]> wrote:
> > > Hi all,
> > > I have two fields in a form.
> > > One text field non asociated to the model for the user type a value.
> > > the
> > > view is:
> > > <%= text_field_tag 'item_cod','', :size => 3 %>
>
> > > Other a field with a select list with codes, names for the user
> > > select
> > > from. The view is:
>
> > > <%= f.select :item_id, Item.select_list, :size => 40 %>
>
> > > item_id is the real field of my model.
>
> > > I want the following behavior.
> > > 1. If the user type a code into the text_field tag -> Update the list
> > > so
> > > the user view the corresponding name of the item they type.
> > > 2. If the user select from the list -> Update the text field with
> > > the
> > > code corresponding to the name selected. (this is the easy part)
>
> > > My form works fine with one Observe field for the :item_id list but
> > > I
> > > can't do work the point 1.
>
> > > Thanks in advance,
> > > FF
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---