NAME

Embperl::Form::Control::selectdyn - A dynamic select control inside an Embperl Form

SYNOPSIS

{
type    => 'selectdyn',
text    => 'blabla',
name    => 'foo',
values  => [1,2,3],
options => ['foo', 'bar', 'none'],
rows    => 5
}

DESCRIPTION

Used to create an select control inside an Embperl Form. See Embperl::Form on how to specify parameters.

PARAMETER

type

Needs to be 'select'

name

Specifies the name of the select control

text

Will be used as label for the select control

values

Gives the values as an array ref of the select control.

options

Gives the options as an array ref that should be displayed to the user. If no options are given, the values from values are used.

rows

If specified a select box is display with the given number of lines. If not specified or undef, a drop down list is shown.

addtop

Array ref which contains items that should be added at the top of the select box. Each item consists of an array ref with two entries, the first is the value and the second is the option that is displayed on the page. If the second is missing the value (first entry)is displayed. Example:

addtop => [ [1 => 'first item'], [2 => 'second item']]

addbottom

Array ref which contains items that should be added at the bottom of the select box. Each item consists of an array ref with two entries, the first is the value and the second is the option that is displayed on the page. If the second is missing the value (first entry)is displayed. Example:

addbottom => [ [9999 => 'last item'], [9999 => 'very last item']]

filter

If given, only items where the value matches the regex given in filter are displayed.

showurl

This URL will be requested if the user clicks on SHOW in the popup or double clicks the control. The value of the selected option will be appended to that url. Should be something like '/foo/bar.epl?id='. NOTE: This URL is not encoded in anyway, so make sure it is properly url encoded.

datasrcurl

This URL will be requested when the user types any input to request the data for the control. The characters the users has typed will be passed by the parameter query and the name of the datasrc attribute will be passed in the datasrc parameter. NOTE: This URL is not encoded in anyway, so make sure it is properly url encoded.

show_on_select

If true show the selected item as soon as it is selected (useses showurl)

use_ajax

If set to an id of an html element, documents that are loaded via showurl are fetch via ajax into this html container, instead of fetching a whole page.

no_button

Do not show button right of input to select all entries

no_new

Do add "New" to context menu

$fdat{-init-<name>}

If set this value is used to prefill the input box, if not set get_values method of the datasource object is call, which might be take a long time in case of many options.

Author

G. Richter (richter at embperl dot org)

See Also

perl(1), Embperl, Embperl::Form