autocomplete_htmlFormWidget
extends WidgetBase
in package
Widget allowing to select a value by showing results from a search after the user starts to type a name. The search is made into a select html element filled by the datasource of the control, which should be a menulist.
See jAutocomplete jqueryui plugin, which is base on the autocomplete plugin.
If the select box may contain hundred values, prefer to use the autocompleteajax_html widget.
The widget accepts a specific attribute, 'attr-autocomplete', an array which may contain attributes for the input element used to type the search term (class, style..).
example of use:
In the form file:
<menulist ref="mylist"> <label>test</label>
<datasource dao="mymodule~mydao"/>
</menulist>
In a template:
{form $form, $submitAction, $submitParam, 'html', array('plugins'=>array(
'mylist'=>'autocomplete_html'))}
{formcontrols}
... {ifctrl 'mylist'}{ctrl_control '', array(
'attr-autocomplete'=>array('style'=>'width:40em;')}
{else}{ctrl_control}{/ifctrl}
{/formcontrols}
Tags
Table of Contents
- outputControl() : mixed
- outputMetaContent() : mixed
- displayAutocompleteInput() : mixed
- displaySelectChoices() : mixed
- outputJs() : mixed
Methods
outputControl()
public
outputControl() : mixed
Tags
Return values
mixed —outputMetaContent()
public
outputMetaContent(mixed $resp) : mixed
Parameters
- $resp : mixed
Tags
Return values
mixed —displayAutocompleteInput()
protected
displayAutocompleteInput(array<string|int, mixed> $attrAutoComplete, array<string|int, mixed> $attrSelect, string $value, null|string $emptyLabel) : mixed
Parameters
- $attrAutoComplete : array<string|int, mixed>
- $attrSelect : array<string|int, mixed>
- $value : string
- $emptyLabel : null|string
-
null if an empty item should not be shown
Tags
Return values
mixed —displaySelectChoices()
protected
displaySelectChoices(array<string|int, mixed> $attrSelect, string $value, null|string $emptyLabel) : mixed
Parameters
- $attrSelect : array<string|int, mixed>
- $value : string
- $emptyLabel : null|string
-
null if an empty item should not be shown
Tags
Return values
mixed —outputJs()
protected
outputJs() : mixed