What is HTML_QuickForm_advmultiselect ?
HTML_QuickForm_advmultiselect is a object oriented class that adds an element
to the HTML_QuickForm package that is two select boxes next to each other
emulating a multi-select.
and HTML_QuickForm, are
available via PEAR,
which offers high quality PHP packages for many purposes.
I am sure we have all been there, dealing with QuickForm because we need to allow users
to select multiple options.
With a standard html select box, you can select multiple options if the 'multiple' attribute
is set, but you have to hold down the appropriate modifier key (ctrl on windows) in order
to do so. It's not a problem for end-user experts, but it's not true for all of us.
On a web project, i should deel with a such solution (dual select boxes with swap buttons)
already written by a previous developper. Even if the solution worked, it was with a nasty
too much restrictive implementation.
After i've left the project, i've begun to search for a real solution and i found a cool
attempt with work of Jamie Alessio.
This implementation is pretty nice, except that we can't change the layout easily.
I've worked on it and finally propose officially to the PEAR community
an improved version which was accepted, on june 21 2005.
- ability to double click on either select box to move elements from one side to the other.
- added headers to the select boxes.
- ability to change layout easily, using CSS classes and a mini template.
- allows to change item size shown of each multiple select box.
- ability to sort lists (by programming, or user-end handling).
- display live counter (selected/unselected items count). Since version 1.3.0
- ability to use fancy attributes (disabled, CSS class and style)
on both template mode (single or dual) and keep them on move. Since version 1.5.0
- add or remove persistant options (disabled attribute) at run-time. Since version 1.5.0
Operating System independent.
- Internet Explorer 6, 7
- Mozilla 1.7.x
- Mozilla Firefox 2, 3
- Opera 7, 8, 9
- Konqueror 3
- Safari 3
See Download tab to know minimum and latest versions of each resource (required, optional).