---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ISelectableControl.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/dev/jsapi-v2-1/doc/en/llms.txt

# ISelectableControl

Extends [IControl](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IControl.md).

Interface for a control that can be toggled and selected.

[Constructor](#constructor-summary) | [Fields](#properties-summary) | [Events](#events-summary) | [Methods](#methods-summary)

## Constructor {#constructor-summary}

```javascript
ISelectableControl()
```

## Fields {#properties-summary}

#|
|| **Name** | **Type** | **Description** ||
|| [events](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventEmitter.md#events) | [IEventManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md) | Event manager.

Inherited from [IEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventEmitter.md#events). ||
|| [options](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IControl.md#options) | [IOptionManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IOptionManager.md) | Options manager.

Inherited from [IControl](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IControl.md#options). ||
|#

## Events {#events-summary}

#|
|| **Name** | **Description** ||
|| [deselect](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md#event-deselect) | The control is not selected. ||
|| [disable](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md#event-disable) | The control is unavailable. ||
|| [enable](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md#event-enable) | The control is available. ||
|| [parentchange](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IChild.md#event-parentchange) | The parent object reference changed.

Data fields:

- oldParent - Old parent.
- newParent - New parent.

Inherited from [IChild](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IChild.md#event-parentchange). ||
|| [select](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md#event-select) | The control is selected. ||
|#

## Methods {#methods-summary}

#|
|| **Name** | **Returns** | **Description** ||
|| [deselect](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md#deselect)() | | Cancels selection of the control (turns it off). ||
|| [disable](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md#disable)() | | Makes the control unavailable (user actions are not allowed). ||
|| [enable](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md#enable)() | | Makes the control available (user actions are allowed). ||
|| [getParent](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IControl.md#getParent)() | [IControlParent](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IControlParent.md)\|null | Returns link to the parent object, or null if the parent element was not set.

Inherited from [IControl](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IControl.md#getParent). ||
|| [isEnabled](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md#isEnabled)() | Boolean | Returns true if the control is available, or false if it is unavailable. ||
|| [isSelected](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md#isSelected)() | Boolean | Returns true if the control is selected, or false if it is not selected. ||
|| [select](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/ISelectableControl.md#select)() | | Selects (turns on) the control. ||
|| [setParent](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IControl.md#setParent)([parent](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IControl.md#setParent-param-parent)) | [IChildOnMap](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IChildOnMap.md) | Sets the parent object. If the null value is passed, the manager element will only be deleted from the current parent object.

Inherited from [IControl](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IControl.md#setParent). ||
|#

## Events details {#event_detail}

### deselect {#deselect}

The control is not selected.

### disable {#disable}

The control is unavailable.

### enable {#enable}

The control is available.

### select {#select}

The control is selected.

## Methods details {#method_detail}

### deselect {#deselect}

```javascript
{} deselect()
```

Cancels selection of the control (turns it off).

### disable {#disable}

```javascript
{} disable()
```

Makes the control unavailable (user actions are not allowed).

### enable {#enable}

```javascript
{} enable()
```

Makes the control available (user actions are allowed).

### isEnabled {#isEnabled}

```javascript
{Boolean} isEnabled()
```

**Returns** true if the control is available, or false if it is unavailable.

### isSelected {#isSelected}

```javascript
{Boolean} isSelected()
```

**Returns** true if the control is selected, or false if it is not selected.

### select {#select}

```javascript
{} select()
```

Selects (turns on) the control.