The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HTML::DOM::Collection::Options - A subclass of HTML::DOM::Collection for 'option' elements

SYNOPSIS

  use HTML::DOM;
  $doc = HTML::DOM->new;
  $doc->write('
      <form name=theform>
        <select name=choice>
          <option>
          <option>
        </select>
      </form>
  ');
  $doc->close;
  
  $options = $doc->forms->{theform}{choice}->options;
  # returns an HTML::DOM::Collection::Options object
  
  $options->[0]; # first option
  $options->item(0); # same

  $options->

  $elements->{r}; # an array of buttons named 'r'
  $elements->namedItem('r'); # same
  () = $elements->namedItem('r'); # list, not array
  
  $elements->length; # same as $#$elements

DESCRIPTION

This inherits from HTML::DOM::Collection and adds a few extra methods for compatibility with WWW::Mechanize. This is used to represent a 'select' element's list of options.

CONSTRUCTOR

Normally you would simply call HTML::DOM::Element::Select's options method (as in the "SYNOPSIS"). But if you wall to call the constructor anyway, here is the syntax:

  $elements = HTML::DOM::Collection::Options->new($nodelist)

$nodelist should be a node list (HTML::DOM::NodeList) object.

METHODS

$options->length

Returns the number of items in the collection.

$options->item($index)

Returns item number $index, numbered from 0. Note that you call also use $elements->[$index] for short.

$options->namedItem($name)

Returns the item named $name. You can also write $collection->{$name}.

These last few are provided for WWW::Mechanize compatibility.

$options->type

Returns the string 'option'.

$options->name

Returns the name of the 'select' element.

$options->possible_values

Returns the a list of the options' values. Provided for WWW::Mechanize compatibility.

$options->value
$options->value('new_value');

Selects the option with the value given and returns the old value, or simply returns the value if there is no argument.

$options->disabled

Returns true if all the options are disabled, false otherwise.

$options->form_name_value;

Returns a list consisting of (0) the name of the 'select' element and (1) the value of the selected option.

BUGS

The name and form_name_value methods currently die if there are no options.

SEE ALSO

HTML::DOM

HTML::DOM::Collection

HTML::DOM::Element::Select

HTML::DOM::Element::Form

The source of HTML/DOM/Element/Form.pm, where this is implemented.