I''m getting a bit frustrated with it. I''d like to populate a hidden field with the ID so I don''t have to find_by_foo_bar afterwards (and thus take yet another database hit [oy my poor database] and risk ambiguous fields) or uglify the dropdown with an ID number. Now, this works: person.org_name => "org: person" _form.rhtml: <fieldset> <%= text_field_with_auto_complete :person, :name %> <%= hidden_field :association, :person_id %> <--- the field I want populated </fieldset> _people.rhtml: <ul class="people"> <% for person in @people do -%> <li class="person" id="<%=person.id%>" onclick="$(''association_person_id'').value = this.id"> <div class="ListRow"><%= h person.org_name %></div> </li> <% end -%> </ul> .... but ONLY for clicks (and onmouseover). onselect, onkeypress, etc... do nothing, so it doesn''t work for tab or enter. And I can''t access the id from after_update_element ''cause the popup is no longer there to get queried and all I can access is the text field itself and the selected value (ie the result of person.org_name rather than person.id). (Or can I? If so I don''t know how. :-/) Any help? Also, when I''m using autocomplete in a sub-sub-form the popup doesn''t show. :/ When it''s just in a form or subform it does, though. And I can tell it''s getting called ''cause I see it on the log tail. I set position:absolute; in CSS; anything else that could do it? - Sai -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I''m not sure it''ll answer all your questions, but check out my article on the subject here... http://blog.wolfman.com/articles/2006/10/23/getting-a-record-id-from-text_field_with_auto_complete I hope it helps. saizai wrote:> I''m getting a bit frustrated with it. > > I''d like to populate a hidden field with the ID so I don''t have to > find_by_foo_bar afterwards (and thus take yet another database hit [oy > my poor database] and risk ambiguous fields) or uglify the dropdown with > an ID number. > > Now, this works: > > person.org_name => "org: person" > > _form.rhtml: > <fieldset> > <%= text_field_with_auto_complete :person, :name %> > <%= hidden_field :association, :person_id %> <--- the field I want > populated > </fieldset> > > _people.rhtml: > > <ul class="people"> > <% for person in @people do -%> > <li class="person" id="<%=person.id%>" > onclick="$(''association_person_id'').value = this.id"> > <div class="ListRow"><%= h person.org_name %></div> > </li> > <% end -%> > </ul> > > > .... but ONLY for clicks (and onmouseover). onselect, onkeypress, etc... > do nothing, so it doesn''t work for tab or enter. And I can''t access the > id from after_update_element ''cause the popup is no longer there to get > queried and all I can access is the text field itself and the selected > value (ie the result of person.org_name rather than person.id). (Or can > I? If so I don''t know how. :-/) > > Any help? > > Also, when I''m using autocomplete in a sub-sub-form the popup doesn''t > show. :/ When it''s just in a form or subform it does, though. And I can > tell it''s getting called ''cause I see it on the log tail. I set > position:absolute; in CSS; anything else that could do it? > > - Sai >-- Jim Morris, http://blog.wolfman.com --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Jim Morris wrote:> I''m not sure it''ll answer all your questions, but check out my article > on the subject here... > > http://blog.wolfman.com/articles/2006/10/23/getting-a-record-id-from-text_field_with_auto_completeThat sounds like the text field will display "23,foo,bar". Which is rather ugly. :/ The page you linked to just does the same thing - makes the first field ''id''; hides it in the dropdown but it''ll be displayed as selected once something is chosen. Ugly UI. :( And then it uses that to populate other fields on the after-update call. But I''d like a way to reliably populate a hidden field with the hidden ''id'' part of the popup no matter how selected, and have the text field just show the prettified name. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Sai Emrys wrote:> Jim Morris wrote: >> I''m not sure it''ll answer all your questions, but check out my article >> on the subject here... >> >> http://blog.wolfman.com/articles/2006/10/23/getting-a-record-id-from-text_field_with_auto_complete > > That sounds like the text field will display "23,foo,bar". Which is > rather ugly. :/ > > The page you linked to just does the same thing - makes the first field > ''id''; hides it in the dropdown but it''ll be displayed as selected once > something is chosen. Ugly UI. :( And then it uses that to populate other > fields on the after-update call. > > But I''d like a way to reliably populate a hidden field with the hidden > ''id'' part of the popup no matter how selected, and have the text field > just show the prettified name. >Ok that link does hide the id, which is not the link it was meant to point to :) Here is where the link should have pointed to... http://wiki.rubyonrails.org/rails/pages/How+to+use+text_field_with_auto_complete/versions/67 about half way down, it has a nicer way to do it, but I have not tried that method. There is another method here that uses javascript to write the id into a hidden_text field, I have used that method. http://ricardo.pacheco.name/blog/articles/2006/09 -- Jim Morris, http://blog.wolfman.com --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
FYI I updated my blog with the correct links, and added two more ways of doing I found. Jim Morris wrote:> Sai Emrys wrote: >> Jim Morris wrote: >>> I''m not sure it''ll answer all your questions, but check out my article >>> on the subject here... >>> >>> http://blog.wolfman.com/articles/2006/10/23/getting-a-record-id-from-text_field_with_auto_complete >> That sounds like the text field will display "23,foo,bar". Which is >> rather ugly. :/ >> >> The page you linked to just does the same thing - makes the first field >> ''id''; hides it in the dropdown but it''ll be displayed as selected once >> something is chosen. Ugly UI. :( And then it uses that to populate other >> fields on the after-update call. >> >> But I''d like a way to reliably populate a hidden field with the hidden >> ''id'' part of the popup no matter how selected, and have the text field >> just show the prettified name. >> > > Ok that link does hide the id, which is not the link it was meant to point to :) > > Here is where the link should have pointed to... > > http://wiki.rubyonrails.org/rails/pages/How+to+use+text_field_with_auto_complete/versions/67 > about half way down, it has a nicer way to do it, but I have not tried that method. > > There is another method here that uses javascript to write the id into a hidden_text field, I have > used that method. > > http://ricardo.pacheco.name/blog/articles/2006/09 >-- Jim Morris, http://blog.wolfman.com --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---