Class Mechanize::Form::SelectList
In: lib/mechanize/form/select_list.rb
Parent: MultiSelectList
Mechanize\n[lib/mechanize.rb\nlib/mechanize/chain.rb\nlib/mechanize/chain/auth_headers.rb\nlib/mechanize/chain/body_decoding_handler.rb\nlib/mechanize/chain/connection_resolver.rb\nlib/mechanize/chain/custom_headers.rb\nlib/mechanize/chain/handler.rb\nlib/mechanize/chain/header_resolver.rb\nlib/mechanize/chain/parameter_resolver.rb\nlib/mechanize/chain/pre_connect_hook.rb\nlib/mechanize/chain/request_resolver.rb\nlib/mechanize/chain/response_body_parser.rb\nlib/mechanize/chain/response_header_handler.rb\nlib/mechanize/chain/response_reader.rb\nlib/mechanize/chain/ssl_resolver.rb\nlib/mechanize/chain/uri_resolver.rb\nlib/mechanize/content_type_error.rb\nlib/mechanize/cookie.rb\nlib/mechanize/cookie_jar.rb\nlib/mechanize/file.rb\nlib/mechanize/file_response.rb\nlib/mechanize/file_saver.rb\nlib/mechanize/form.rb\nlib/mechanize/form/button.rb\nlib/mechanize/form/check_box.rb\nlib/mechanize/form/field.rb\nlib/mechanize/form/file_upload.rb\nlib/mechanize/form/image_button.rb\nlib/mechanize/form/multi_select_list.rb\nlib/mechanize/form/option.rb\nlib/mechanize/form/radio_button.rb\nlib/mechanize/form/select_list.rb\nlib/mechanize/headers.rb\nlib/mechanize/history.rb\nlib/mechanize/monkey_patch.rb\nlib/mechanize/page.rb\nlib/mechanize/page/base.rb\nlib/mechanize/page/frame.rb\nlib/mechanize/page/image.rb\nlib/mechanize/page/label.rb\nlib/mechanize/page/link.rb\nlib/mechanize/page/meta.rb\nlib/mechanize/pluggable_parsers.rb\nlib/mechanize/redirect_limit_reached_error.rb\nlib/mechanize/redirect_not_get_or_head_error.rb\nlib/mechanize/response_code_error.rb\nlib/mechanize/unsupported_scheme_error.rb\nlib/mechanize/util.rb] dot/f_53.png

This class represents a select list or drop down box in a Form. Set the value for the list by calling SelectList#value=. SelectList contains a list of Option that were found. After finding the correct option, set the select lists value to the option value:

 selectlist.value = selectlist.options.first.value

Options can also be selected by "clicking" or selecting them. See Option

Methods

Public Class methods

[Source]

    # File lib/mechanize/form/select_list.rb, line 10
10:       def initialize node
11:         super
12:         if selected_options.length > 1
13:           selected_options.reverse[1..selected_options.length].each do |o|
14:             o.unselect
15:           end
16:         end
17:       end

Public Instance methods

Find one option on this select list with criteria Example:

  select_list.option_with(:value => '1').value = 'foo'

[Source]

    # File lib/mechanize/form/select_list.rb, line 38
38:       def option_with criteria
39:         f = options_with(criteria).first
40:           yield f if block_given?
41:         f
42:       end

Find all options on this select list with criteria Example:

  select_list.options_with(:value => /1|2/).each do |field|
    field.value = '20'
  end

[Source]

    # File lib/mechanize/form/select_list.rb, line 25
25:       def options_with criteria
26:         criteria = {:name => criteria} if String === criteria
27:         f = @options.find_all do |thing|
28:           criteria.all? { |k,v| v === thing.send(k) }
29:         end
30:         yield f if block_given?
31:         f
32:       end

[Source]

    # File lib/mechanize/form/select_list.rb, line 63
63:       def query_value
64:         value ? [[name, value]] : nil
65:       end

[Source]

    # File lib/mechanize/form/select_list.rb, line 44
44:       def value
45:         value = super
46:         if value.length > 0
47:           value.last
48:         elsif @options.length > 0
49:           @options.first.value
50:         else
51:           nil
52:         end
53:       end

[Source]

    # File lib/mechanize/form/select_list.rb, line 55
55:       def value=(new)
56:         if new != new.to_s and new.respond_to? :first
57:           super([new.first])
58:         else
59:           super([new.to_s])
60:         end
61:       end

[Validate]