# tinymce.ui.ListBox

Namespace | tinymce.ui
Class | ListBox
Inheritance | ListBox Control
Subclasses | NativeListBox

This class is used to create list boxes/select list. This one will generate a non native control. This one has the benefits of having visual items added.

#### Example

## Public Properties

Property | Defined By
--- | ---
items : Array Array of ListBox items. | ListBox

## Public Methods

Method | Defined By
--- | ---
ListBox(id:String, s:Object, ed:Editor) Constructs a new listbox control instance. | ListBox
add(n:String, v:String, o:Object):void Adds a option item to the list box. | ListBox
destroy():void Destroys the ListBox i. | ListBox
getLength(Number:Number):void Returns the number of items inside the list box. | ListBox
hideMenu():void Hides the drop menu. | ListBox
isActive():Boolean Returns true/false if the control is disabled or not. | Control
isDisabled():Boolean Returns true/false if the control is disabled or not. | Control
isRendered():Boolean Returns true/false if the control has been rendered or not. | Control
postRender():void Post render event. | ListBox
remove():void Removes the control. | Control
renderHTML():String Renders the list box as a HTML string. | ListBox
renderMenu():void Renders the menu to the DOM. | ListBox
renderTo(n:Element):void Renders the control to the specified container element. | Control
select(va:String/function):void Selects a item/option by value. | ListBox
selectByIndex(idx:String):void Selects a item/option by index. | ListBox
setActive(s:Boolean):void Sets the activated state for the control. | Control
setDisabled(s:Boolean):void Sets the disabled state for the control. | Control
setState(c:String, s:Boolean):void Sets the specified class state for the control. | Control
showMenu():void Displays the drop menu with all items. | ListBox

## Public Events

Event | Defined By
--- | ---
onAdd() Fires when a new item is added. | ListBox
onChange() Fires when the selection has been changed. | ListBox
onPostRender() Fires after the element has been rendered to DOM. | ListBox
onRenderMenu() Fires when the menu gets rendered. | ListBox

## Property details

### itemsproperty

`public items : Array`
Array of ListBox items.

## Method details

### ListBoxconstructor

`public function ListBox(id:String, s:Object, ed:Editor)`
Constructs a new listbox control instance.

#### Parameters

id:String | Control id for the list box.
s:Object | Optional name/value settings object.
ed:Editor | Optional the editor instance this button is for.

### addmethod

`public function add(n:String, v:String, o:Object):void`
Adds a option item to the list box.

#### Parameters

n:String | Title for the new option.
v:String | Value for the new option.
o:Object | Optional object with settings like for example class.

### destroymethod

`public function destroy():void`
Destroys the ListBox i.e. clear memory and events.

### getLengthmethod

`public function getLength(Number:Number):void`
Returns the number of items inside the list box.

#### Parameters

Number:Number | of items inside the list box.

### hideMenumethod

`public function hideMenu():void`
Hides the drop menu.

### postRendermethod

`public function postRender():void`
Post render event. This will be executed after the control has been rendered and can be used to set states, add events to the control etc. It's recommended for subclasses of the control to call this method by using this.parent().

### renderHTMLmethod

`public function renderHTML():String`
Renders the list box as a HTML string. This method is much faster than using the DOM and when creating a whole toolbar with buttons it does make a lot of difference.

#### Returns

String - HTML for the list box control element.

### renderMenumethod

`public function renderMenu():void`
Renders the menu to the DOM.

### selectmethod

`public function select(va:String/function):void`
Selects a item/option by value. This will both add a visual selection to the item and change the title of the control to the title of the option.

#### Parameters

va:String/function | Value to look for inside the list box or a function selector.

### selectByIndexmethod

`public function selectByIndex(idx:String):void`
Selects a item/option by index. This will both add a visual selection to the item and change the title of the control to the title of the option.

#### Parameters

idx:String | Index to select, pass -1 to select menu/title of select box.

### showMenumethod

`public function showMenu():void`
Displays the drop menu with all items.

## Event details

### onAddevent

`public event onAdd()`
Fires when a new item is added.

### onChangeevent

`public event onChange()`
Fires when the selection has been changed.

### onPostRenderevent

`public event onPostRender()`
Fires after the element has been rendered to DOM.

### onRenderMenuevent

`public event onRenderMenu()`
Fires when the menu gets rendered.