class Metallize::Form::MultiSelectList
Attributes
options[RW]
Public Class Methods
new(node)
click to toggle source
Calls superclass method
Metallize::Form::Field::new
# File lib/metallize/form/multi_select_list.rb, line 7 def initialize node value = [] @options = [] # parse node.find_elements(:tag_name, 'option').each do |n| @options << Metallize::Form::Option.new(n, self) end super node, value end
Public Instance Methods
select_none()
click to toggle source
Select no options
# File lib/metallize/form/multi_select_list.rb, line 23 def select_none @value = [] options.each { |o| o.untick } end
selected_options()
click to toggle source
Get a list of all selected options
# File lib/metallize/form/multi_select_list.rb, line 41 def selected_options @options.find_all { |o| o.selected? } end
value()
click to toggle source
# File lib/metallize/form/multi_select_list.rb, line 45 def value value = [] value.concat @value value.concat selected_options.map { |o| o.value } value.first end
value=(values)
click to toggle source
# File lib/metallize/form/multi_select_list.rb, line 28 def value=(values) select_none [values].flatten.each do |value| option = options.find { |o| o.value == value } if option.nil? @value.push(value) else option.node.click end end end