ToggleButtonGroup
API reference › Bootstrap 6 › ToggleButtonGroup
Renders a group of checkbox or radio toggle buttons for a model attribute or a named input.
Each item renders as <label class="btn-check ..."><input type="checkbox" ...>Label</label>; the input is nested in
the label, so no id/for pair is needed. With a model, a hidden input submits the empty value when nothing is
selected (configurable through the unselect key of $options); it is disabled together with the inputs when
$inputOptions carries disabled.
See also: https://getbootstrap.com/docs/6.0/components/button-group/#toggle-buttons.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$attribute | string| | The model attribute that this widget is associated with. Default: null. | yii\ |
$autoIdPrefix static | string | The prefix to the automatically generated widget IDs. Default: 'w'. | yii\ |
$behaviors read-only | array<yii\<static>> | List of behaviors attached to this component. | yii\ |
$clientEvents | array<string, yii\| | Event handlers attached to the widget element, as event name => JavaScript handler source. Default: []. | BootstrapWidgetTrait |
$clientOptions | array<string, | Options passed to the plugin constructor, or false to skip the JavaScript initialization. Default: []. | BootstrapWidgetTrait |
$encodeLabels | bool | Whether to HTML-encode the item labels. Default: true. | ToggleButtonGroup |
$field | yii\ | Active input field, which triggers this widget rendering. Default: null. Available since 2.0.11. | yii\ |
$id | string | Id of the widget. | yii\ |
$inputOptions | array<string, | HTML attributes of every input tag, for example ['disabled' => true]. Default: []. | ToggleButtonGroup |
$items | array<array-key, | Toggle buttons as value => label pairs. Default: []. | ToggleButtonGroup |
$labelOptions | array<string, | HTML attributes of every label (button) tag. Default: []. | ToggleButtonGroup |
$model | yii\| | The data model that this widget is associated with. Default: null. | yii\ |
$name | string| | The input name. Default: null. | yii\ |
$options | array | The HTML attributes for the input tag. Default: []. | yii\ |
$size | yii2\| | Size modifier rendered as the btn-group-{value} class (xs, sm, or lg), or null for the default. Default: null. | ToggleButtonGroup |
$theme | yii2\| | Theme color of the buttons rendered as the theme-{value} class, or null for the neutral color. Default: null. | ToggleButtonGroup |
$type | string | Input type, either TYPE_CHECKBOX or TYPE_RADIO. Default: self::TYPE_CHECKBOX. | ToggleButtonGroup |
$value | string | The input value. Default: null. | yii\ |
$variant | yii2\| | Button style class of the labels. Default: \. | ToggleButtonGroup |
$view | yii\ | The view object that can be used to render views or view files. | yii\ |
$viewPath read-only | string | The directory containing the view files for this widget. | yii\ |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__clone() | This method is called after the object is created by cloning an existing one. | yii\ |
__get() | Returns the value of a component property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets the value of a component property. | yii\ |
__unset() | Sets a component property to be null. | yii\ |
addAttributes() | Adds a set of HTML attributes; attributes already set with the same name are replaced. | AttributesTrait |
addClass() | Adds one or more CSS classes to the existing classes; duplicated classes are collapsed. | AttributesTrait |
addCssStyle() | Adds CSS style properties to the style attribute. | AttributesTrait |
afterRun() | This method is invoked right after a widget is executed. | yii\ |
attachBehavior() | Attaches a behavior to this component. | yii\ |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\ |
attribute() | Sets an HTML attribute value. | AttributesTrait |
beforeRun() | This method is invoked right before the widget is executed. | yii\ |
begin() static | Begins a widget. | yii\ |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
class() | Replaces the existing CSS classes with the specified ones. | AttributesTrait |
className() static | Returns the fully qualified name of this class. | yii\ |
detachBehavior() | Detaches a behavior from the component. | yii\ |
detachBehaviors() | Detaches all behaviors from the component. | yii\ |
end() static | Ends a widget. | yii\ |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\ |
getBehavior() | Returns the named behavior object. | yii\ |
getBehaviors() | Returns all behaviors attached to this component. | yii\ |
getId() | Returns the ID of the widget. | yii\ |
getView() | Returns the view object that can be used to render views or view files. | yii\ |
getViewPath() | Returns the directory containing the view files for this widget. | yii\ |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\ |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\ |
init() | ToggleButtonGroup | |
off() | Detaches an existing event handler from this component. | yii\ |
on() | Attaches an event handler to an event. | yii\ |
render() | Renders a view. | yii\ |
renderFile() | Renders a view file. | yii\ |
run() | ToggleButtonGroup | |
setId() | Sets the ID of the widget. | yii\ |
setView() | Sets the view object to be used by this widget. | yii\ |
trigger() | Triggers an event. | yii\ |
widget() static | Creates a widget instance and runs it. | yii\ |
hasModel() protected | yii\ | |
pluginInitialization() protected | Returns the JavaScript that initializes a plugin with its normalized constructor options. | BootstrapWidgetTrait |
registerClientEvents() protected | Registers the JavaScript event handlers listed in $clientEvents at View::POS_END. | BootstrapWidgetTrait |
registerPlugin() protected | Registers the plugin asset, the plugin initialization when needed, and the $clientEvents. | BootstrapWidgetTrait |
renderInputHtml() protected | Render a HTML input tag. | yii\ |
renderItem() protected | Renders a toggle button. | ToggleButtonGroup |
Events
Section titled “Events”| Event | Type | Description | Defined by |
|---|---|---|---|
EVENT_INIT | yii\ | An event that is triggered when the widget is initialized via init(). Event name: 'init'. Available since 2.0.11. | yii\ |
EVENT_BEFORE_RUN | yii\ | An event raised right before executing a widget. Event name: 'beforeRun'. Available since 2.0.11. | yii\ |
EVENT_AFTER_RUN | yii\ | An event raised right after executing a widget. Event name: 'afterRun'. Available since 2.0.11. | yii\ |
Constants
Section titled “Constants”| Constant | Value | Description | Defined by |
|---|---|---|---|
TYPE_CHECKBOX | 'checkbox' | Checkbox toggle buttons; the input name receives the [] suffix. | ToggleButtonGroup |
TYPE_RADIO | 'radio' | Radio toggle buttons. | ToggleButtonGroup |
TYPES | [self::TYPE_CHECKBOX, | Supported values of $type. | ToggleButtonGroup |
Method details
Section titled “Method details”init()
Section titled “init() ”public function init(): voidThrows
yii\base\InvalidConfigException: if the widget has neither a model attribute nor a name, or$size,$theme,$type, or$variantis not supported.
renderItem()
Section titled “renderItem() ”protected function renderItem(string $label, string $name, bool $checked, string $value): stringRenders a toggle button.
Parameters
| Parameter | Type | Description |
|---|---|---|
$label | string | Item label, HTML-encoded when $encodeLabels is true. |
$name | string | Input name. |
$checked | bool | Whether the input is checked. |
$value | string | Input value. |
Returns
string: Generated HTML.