HTML::Widget::Element::Select - Select Element


NAME

HTML::Widget::Element::Select - Select Element


SYNOPSIS

    my $e = $widget->element( 'Select', 'foo' );
    $e->comment('(Required)');
    $e->label('Foo');
    $e->size(23);
    $e->options( foo => 'Foo', bar => 'Bar' );
    $e->selected(qw/foo bar/);
    $e->constrain_options(1);


DESCRIPTION

Select Element.

As of version 1.09, an In constraint is no longer automatically added to Select elements. Use constrain_options to provide this functionality.


METHODS

comment

Add a comment to this Element's label.

label

This label will be placed next to your Element.

size

If set to 1, the select element is displayed as a pop-up menu, otherwise the element is displayed as a list box, with the size determining the display height in rows. The default size is 1.

multiple

    $widget->element( 'Select', 'foo' )->multiple( 1 );

If the multiple attribute is set, the select element is rendered as a list box, and the user may select multiple options.

If the size is not set, the default size (height) is the number of elements. If the size is set to 1, the element is rendered as a pop-up menu.

options

A list of options in key => value format. Each key is the unique id of an option tag, and its corresponding value is the text displayed in the element.

selected

value

A list of keys (unique option ids) which will be pre-set to "selected". Can also be addressed as value for consistency with the other elements

value is an alias for selected.

constrain_options

constrain_values

If true, an In constraint will automatically be added to the widget, using the key names from options.

constrain_values is an alias for constrain_options.

retain_default

If true, overrides the default behaviour, so that after a field is missing from the form submission, the xml output will contain the default value, rather than be empty.

prepare

process

containerize


SEE ALSO

the HTML::Widget::Element manpage


AUTHOR

Sebastian Riedel, sri@oook.de


LICENSE

This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.