Problem with text_field_with_auto_complete Pt 2

Ok so I got the text field to populate a list of what I needed but I
have a problem. When I select an item in Firefox, there’s 4 spaces that
appear before it in the text field. In safari, nothing appears in the
field after selecting. I saw reference to this problem while searching
online but couldnt quite find a solution. My code is almost exactly
whats in the scriptaculous example at
http://demo.script.aculo.us/ajax/autocompleter_customized

here it is:

#controller
def auto_complete_for_software_title
auto_complete_responder_for_software params[:software][:title]
end

private
def auto_complete_responder_for_software(value)
@soft = Software.find(:all,
:conditions => [ ‘LOWER(title) LIKE ?’,
value.downcase + ‘%’ ],
:order => ‘title ASC’,
:limit => 40)
render :partial => ‘software_list’

#view
<%= text_field_with_auto_complete :software, :title, {}, :skip_style =>
true %>

#partial

    <% for soft in @soft do -%>
  • <%=h soft.title %>
  • <% end -%>

I tried alot of different things but nothing seems to be fixing it. Any
help would be greatly appreciated. I’m almost there :slight_smile:

http://ccpdz.sarl.tk

2008/4/10, Mark Mr [email protected]:

On Apr 10, 2008, at 15:54 , Mark Mr wrote:

 :order => 'title ASC',

<% for soft in @soft do -%>

  • <%=h soft.title %>
  • <% end -%>

    I tried alot of different things but nothing seems to be fixing it.
    Any
    help would be greatly appreciated. I’m almost there :slight_smile:

    Looks correct at first sight. Have you inspected the Ajax response
    with Firebug? Does it look right?

    – fxn

    Xavier N. wrote:

    On Apr 10, 2008, at 15:54 , Mark Mr wrote:

     :order => 'title ASC',
    

    <% for soft in @soft do -%>

  • <%=h soft.title %>
  • <% end -%>

    I tried alot of different things but nothing seems to be fixing it.
    Any
    help would be greatly appreciated. I’m almost there :slight_smile:

    Looks correct at first sight. Have you inspected the Ajax response
    with Firebug? Does it look right?

    – fxn

    Yeah, the Ajax response is the list of elements when you type something
    in such as

    • Windows XP Home
    • Windows XP Pro

    I just dont know why its not inputting the value properly into the text
    box. One thing i noticed is when I look at the html, the textbox looks
    like this

    the autocomplete attribute is set to off, not sure if that has any
    significance to this though.

    On Apr 10, 2008, at 21:47 , Mark Mr wrote:

    <% end -%>

    New partial:

      <% for soft in @soft do -%>
    • <%=h soft.title %>
    • <% end -%>

    I guess the problem then was the spaces between the opening

  • and
    the content. The spaces between LIs themselves and the ones between UL
    and LIs are ignored for certain.

    – fxn

  • Ok I just figured it out if anyone else has this problem. Apparently you
    need to have the partial all on one line with no spaces between
    elements.

    Old partial:

      <% for soft in @soft do -%>
    • <%=h soft.title %>
    • <% end -%>

    New partial:

      <% for soft in @soft do -%>
    • <%=h soft.title %>
    • <% end -%>

    Now it works properly. :slight_smile: