link_to_function
link_to_function(name, function, html_options={})Returns a link whose onclick handler triggers the passed JavaScript.
The helper receives a name, JavaScript code, and an optional hash of HTML options. The name is used as the link text and the JavaScript code goes into the onclick attribute. If html_options has an :onclick, that one is put before function. Once all the JavaScript is set, the helper appends “; return false;”.
The href attribute of the tag is set to “#” unless html_options has one.
link_to_function "Greeting", "alert('Hello world!')", class: "nav_link" # => <a class="nav_link" href="#" onclick="alert('Hello world!'); return false;">Greeting</a>
2Notes
error in block code example
I guess there's an error in this part of the code:
link_to_function("Show me more", nil, :id => "more_link") do |page| page[:details].visual_effect :toggle_blind page[:more_link].replace_html "Show me less" end
It doesn't work. It should be:
link_to_function("Show me more", nil, :id => "more_link") do |page| page[:details].toggle "Blind" page[:more_link].replace_html "Show me less" end
Using Rails 2.1.0
Another solution for visual_effect in code block example in link_to_remote
Update: Code block example in link_to_function not link_to_remote (can't edit subject annymore :( )
This doesn't work:
====
page[:details].visual_effect :toggle_blind
My solution:
====
page.visual_effect :toggle_blind, 'details'