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 -~----------~----~----~----~------~----~------~--~---