# Floatinglabel Type Ahead

(part of package '[Bootstrap Components](/reference/servoyextensions/packages/ui-component-packages/bootstrap-components.md)')\
Extends designtime/SolutionModel: [JSWebComponent](/reference/servoycore/dev-api/solutionmodel/jswebcomponent.md)\
Extends runtime: [RuntimeWebComponent](/reference/servoycore/dev-api/forms/runtimeform/elements/runtimewebcomponent.md)

TypeAhead is an input component that provides auto-complete suggestions as the user types.\
It leverages a value list to display options and allows selection of a suggested value.

This is a reference page; many components have detailed usage guides [here](https://docs.servoy.com/guides/develop/application-design/ui-components).

## Properties

### appendToBody

Flag indicating whether the typeahead dropdown is appended to the document body. Type: [Boolean](/reference/servoycore/dev-api/js-lib/boolean.md) Default Value: true

***

### dataProviderID

Bound data provider identifier for the typeahead's value. Type: [Dataprovider](/reference/servoy-developer/component_and_service_property_types.md#dataprovider)

***

### editable

Flag indicating whether the typeahead is editable. Type: [Protected](/reference/servoy-developer/component_and_service_property_types.md#protected) Default Value: true

***

### enabled

Flag indicating whether the typeahead component is enabled for user interaction. Type: [Enabled](/reference/servoy-developer/component_and_service_property_types.md#protected) Default Value: true

***

### errorMessage

Error message displayed when the input value is invalid or fails validation. Type: [Tagstring](/reference/servoy-developer/component_and_service_property_types.md#tagstring)

***

### filteringDebounce

Debounce interval (in milliseconds) for filtering input in the typeahead. Type: [Number](/reference/servoycore/dev-api/js-lib/number.md) Default Value: 500

***

### floatLabelText

The text displayed as a floating label when the typeahead input is focused or contains a value. Type: [Tagstring](/reference/servoy-developer/component_and_service_property_types.md#tagstring)

***

### format

Format string used to display and parse the typeahead value. Type: [Format](/reference/servoy-developer/component_and_service_property_types.md#format)

***

### selectOnEnter

Flag indicating whether the entire text should be selected when the Enter key is pressed. Type: [Boolean](/reference/servoycore/dev-api/js-lib/boolean.md)

***

### showAs

Option typeahead options are shown as plain text or sanitized html. Type: [String](/reference/servoycore/dev-api/js-lib/string.md) Default Value: "html"

***

### styleClass

Set the styleclasses that should be applied at to this component Type: [Styleclass](/reference/servoy-developer/component_and_service_property_types.md#styleclass) Default Value: "form-control"

***

### tabSeq

Tab sequence order for keyboard navigation. Type: [Tabseq](/reference/servoy-developer/component_and_service_property_types.md#tabseq)

***

### toolTipText

Tooltip text displayed when hovering over the typeahead component. Type: [Tagstring](/reference/servoy-developer/component_and_service_property_types.md#tagstring)

***

### valuelistConfig

Configuration options for the typeahead's value list. Type: [ValuelistConfig](/reference/servoy-developer/component_and_service_property_types.md#valuelistConfig)

***

### valuelistID

Identifier for the value list that provides the available options for the typeahead. Type: [Valuelist](/reference/servoy-developer/component_and_service_property_types.md#valuelist) Default Value: "autoVL"

***

### visible

Whether the button is visible or not Type: [Visible](/reference/servoy-developer/component_and_service_property_types.md#visible)

***

## Events

### onActionMethodID(event)

Fired when the typeahead action is triggered (for example, when an option is selected).

**Parameters:**

> * {[JSEvent](/reference/servoycore/dev-api/application/jsevent.md)} event The event object containing details about the action event e.g. target element, selected option

***

### onDataChangeMethodID(oldValue,newValue,event)

Handle changed data, return false if the value should not be accepted.\
JSEvent.data will contain extra information about dataproviderid, its scope and the scope id (record datasource or form/global variable scope)

**Parameters:**

> * {[${dataproviderType}](/reference/servoy-developer/component_and_service_property_types.md#dataprovider)} oldValue The previous value from the data provider
> * {[${dataproviderType}](/reference/servoy-developer/component_and_service_property_types.md#dataprovider)} newValue The new value to be set in the data provider
> * {[JSEvent](/reference/servoycore/dev-api/application/jsevent.md)} event The event object associated with the data change

**Returns:** {[Boolean](/reference/servoycore/dev-api/js-lib/boolean.md)}

***

### onFocusGainedMethodID(event)

Fired when the typeahead component gains focus.

**Parameters:**

> * {[JSEvent](/reference/servoycore/dev-api/application/jsevent.md)} event The event object containing details about the focus gained event e.g. target element, timestamp

***

### onFocusLostMethodID(event)

Fired when the typeahead component loses focus.

**Parameters:**

> * {[JSEvent](/reference/servoycore/dev-api/application/jsevent.md)} event The event object containing details about the focus lost event e.g. target element, timestamp

***

## API

### requestFocus(mustExecuteOnFocusGainedMethod)

Request the focus to this typeahead.

**Example:**

```js
myElement.requestFocus();
```

**Parameters:**

> * {[Boolean](/reference/servoycore/dev-api/js-lib/boolean.md)} \[mustExecuteOnFocusGainedMethod] If false will not execute the onFocusGained method; the default value is true

***

### toggleErrorMessage(show)

Toggles the display of the error message for the component.

**Parameters:**

> * {[Boolean](/reference/servoycore/dev-api/js-lib/boolean.md)} show A flag indicating whether to show (true) or hide (false) the error message.

***

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.servoy.com/reference/servoyextensions/ui-components/input-control/floatlabel-type-ahead.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
