NAME
HTML::DOM::Collection::Options - A subclass of HTML::DOM::Collection for 'option' elements
VERSION
Version 0.054
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->[0] = undef; # deletes it
delete $options->[0]; # likewise
$options->length; # same as scalar @$options
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, $select_elem
)
$nodelist should be a node list (HTML::DOM::NodeList) object.
ARRAY INTERFACE
You can use an options collection as an array reference. You can even modify it this way. If you assign undef
to an array element or delete it, it will be removed completely, so $options->[0] = undef
will cause $options->[1] to become $options->[0], for example.
Don't rely on array manipulation functions, such as shift
, push
, splice
, etc. Also, don't rely on list assignments.
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$elements->{$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.
SEE ALSO
The source of HTML/DOM/Element/Form.pm, where this is implemented.