> For the complete documentation index, see [llms.txt](https://docs.wisej.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wisej.com/docs/controls/buttons/checkbox.md).

# CheckBox

Use a CheckBox to give the user an option, such as true/false or yes/no. The CheckBox control can display an image or text or both.

CheckBox and RadioButton controls serve similar functions: they allow users to choose from a list of options. CheckBox controls let users pick multiple options simultaneously, while RadioButton controls restrict users to one choice from mutually exclusive options.

The `Appearance` property determines whether the CheckBox appears as a typical CheckBox, a button, or as a switch.

The `ThreeState` property determines whether the control supports two or three states. Use the `Checked` property to get or set the value of a two-state CheckBox control and the `CheckState` property to get or set the value of a three-state CheckBox control.

{% hint style="info" %}
For a full list of properties, methods and events see the [API documentation.](http://docs.wisej.com/api)
{% endhint %}

## Features

### Check States

The Checkbox features three preset check states: `Checked`, `Unchecked`, and `Indeterminate`. These can be toggled using the `CheckState` property.

![Checkbox control demonstrating the three possible check states](/files/-MdTjgNv4V3sF89IkmO2)

### Check Alignment

The Checkbox icon can be configured to show on the left or right side of the text.

![Checkbox control showing different text alignment options](/files/-MdTk0opLr9yCuDZI_Rn)

### Icons

Icons can be placed in various positions around the checkbox including above, below, beside, and more.

![Animated demonstration of checkbox icon positioning options](/files/-MdTvxzgwDdCUPRGuoVN)

## Advanced

### JavaScript Widget

| Item             | Description                                                                                                         |
| ---------------- | ------------------------------------------------------------------------------------------------------------------- |
| Class name       | "wisej.web.CheckBox"                                                                                                |
| Theme appearance | "checkbox", see [Themes](https://docs.wisej.com/theme-builder/theme-elements/elements).                             |
| Child components | "icon" is the checkbox icon, "label" is the text. See [JavaScript](/docs/concepts/javascript-object-model.md).      |
| Source code      | [https://github.com/iceteagroup/wisej-js](https://github.com/iceteagroup/wisej-js/blob/master/wisej.web.TextBox.js) |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.wisej.com/docs/controls/buttons/checkbox.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
