module ActionView::Helpers

Public Instance Methods

button_to_function(name, *args, &block) click to toggle source

Returns a button with the given name text that’ll trigger a JavaScript function using the onclick handler.

The first argument name is used as the button’s value or display text.

The next arguments are optional and may include the javascript function definition and a hash of html_options.

The function argument can be omitted in favor of an update_page block, which evaluates to a string when the template is rendered (instead of making an Ajax request first).

The html_options will accept a hash of html attributes for the link tag. Some examples are :class => “nav_button”, :id => “articles_nav_button”

Note: if you choose to specify the javascript function in a block, but would like to pass html_options, set the function parameter to nil

Examples:

button_to_function "Greeting", "alert('Hello world!')"
button_to_function "Delete", "if (confirm('Really?')) do_delete()"
button_to_function "Details" do |page|
  page[:details].visual_effect :toggle_slide
end
button_to_function "Details", :class => "details_button" do |page|
  page[:details].visual_effect :toggle_slide
end
# File lib/jrails/javascript_helper.rb, line 36
def button_to_function(name, *args, &block)
  html_options = args.extract_options!.symbolize_keys

  function = block_given? ? update_page(&block) : args[0] || ''
  onclick = "#{"#{html_options[:onclick]}; " if html_options[:onclick]}#{function};"

  tag(:input, html_options.merge(:type => 'button', :value => name, :onclick => onclick))
end
javascript_function(*args, &block) click to toggle source

This function can be used to render rjs inline

<%= javascript_function do |page|

page.replace_html :list, :partial => 'list', :object => @list

end %>

# File lib/jrails/javascript_helper.rb, line 78
def javascript_function(*args, &block)
  html_options = args.extract_options!
  function = args[0] || ''

  html_options.symbolize_keys!
  function = update_page(&block) if block_given?
  javascript_tag(function)
end
jquery_id(id) click to toggle source
# File lib/jrails/javascript_helper.rb, line 87
def jquery_id(id)
  id.to_s.count('#.*,>+~:[/ ') == 0 ? "##{id}" : id
end
jquery_ids(ids) click to toggle source
# File lib/jrails/javascript_helper.rb, line 91
def jquery_ids(ids)
  Array(ids).map{|id| jquery_id(id)}.join(',')
end