Hey, I'm able to duplicate everything in Ryan Bates' screencast on jQueryUI autocomplete (#102<http://railscasts.com/episodes/102-auto-complete-a...), except for the piece that calls the server for completion data. Here is my view html: <input data-autocomplete-source="/searches" id="search-markets" name="search-markets" placeholder="market keyword and/or location" size="50" type="text" autocomplete="off"> Now, this coffeescript works... $('#search-markets').autocomplete source: ['foo', 'food', 'four'] ...whereas, this coffeescript trying to tap the server... $('#search-markets').autocomplete -> source: $('#search-markets').data('autocomplete-source') ...results in http POST calls to the root and not the data-autocomplete-source value of '/searches'. Bates's railscast uses a textfield in the context of a RESTful form, but I don't expect this difference between his code and mine should explain my unexpected POST. Any thoughts? Lille
on 2012-09-21 01:14
on 2012-09-21 02:11
On Fri, Sep 21, 2012 at 9:12 AM, Lille <lille.penguini@gmail.com> wrote: > size="50" type="text" autocomplete="off"> > > ...results in http POST calls to the root and not the > data-autocomplete-source value of '/searches'. > There seems to be nothing wrong in your code. All I can think of that causes this is if another dom element has an id of search-markets. Can you confirm that your view only has one dom with this id? > -- > --
on 2012-09-21 02:26
> > > There seems to be nothing wrong in your code. All I can think of that > causes this is if another dom element > has an id of search-markets. Can you confirm that your view only has one > dom with this id? > Yes, I confirm. I modified the code to ensure no interference... $('#search-markets').autocomplete -> source: "/searches" For what it's worth, the coffeescript compiles to this... $('#search-markets').autocomplete(function() { return { source: "/searches" }; }); I see other approaches using more of the autocompletion settings, including callbacks, but I wonder why my simple attempt fails. Lille
on 2012-09-21 02:44
On Fri, Sep 21, 2012 at 10:25 AM, Lille <lille.penguini@gmail.com> wrote: > source: "/searches" > > For what it's worth, the coffeescript compiles to this... > > $('#search-markets').autocomplete(function() { return { source: > "/searches" }; }); > Ah it's stupid of me not to see the difference. Remove -> and it should work. > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscribe@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msg/rubyonrails-talk/-.... > > For more options, visit https://groups.google.com/groups/opt_out. > > > --
on 2012-09-21 03:32
>> >> For what it's worth, the coffeescript compiles to this... >> >> $('#search-markets').autocomplete(function() { return { source: >> "/searches" }; }); >> > > Ah it's stupid of me not to see the difference. Remove -> and it should > work. > No, doing that results in no network activity from the widget, at all -- kills it. This is what the code compiles to without '->'... $('#search-markets').autocomplete({ source: "/searches" }); That looks better to me, but it's not happening. Lille
on 2012-09-21 03:43
On Fri, Sep 21, 2012 at 11:31 AM, Lille <lille.penguini@gmail.com> wrote: >>> source: "/searches" > > That's the right js. You should paste here the code which handles requests to /searches. > rubyonrails-talk+unsubscribe@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msg/rubyonrails-talk/-.... > > For more options, visit https://groups.google.com/groups/opt_out. > > > --
on 2012-09-21 04:04
> That's the right js. You should paste here the code which handles > requests to /searches. > Here's a curl to confirm that the resource works... curl 'http://localhost:3000/searches?term=s' ["seom","some marker","some market","some market","some market","some market","some market","some market","some market",...] Could it be the response format? I don't think so, I get positive results when I do something like this... $("input#search-markets").autocomplete( source: (request, response) -> $.getJSON("/searches", { term: request }, (response) -> response(result) ) # $.each(result, (i, val) -> console.log("fuck: "+val))) select: (event, ui) -> window.location = ui.item.value false ) I'd just like to know why the simple form fails. I guess I'll drop this soon, as it feels idiosyncratic without broader interest. Final call for any comments! Lille
on 2012-09-28 01:17
> > I'd just like to know why the simple form fails. > Turns out that a customized autocompletion file that I had included from vendor/assets/javascripts was superseding jquery-ui and, once removed, I got the expected behavior -- so, this was completely one-off. Sorry not to have noticed it, sooner. Lille
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.