Select2 gives you a customizable select box with support for searching, tagging, remote data sets, infinite scrolling, and many other highly used options.
Via Composer
$ composer require 2amigos/yii2-select2-widget
The Widget comes in two flavors, one for the classic and the bootstrap. The widgets, apart from the bootstrap one that
requires some tweaks, are mostly configured throughout the clientOptions
and clientEvents
. Attributes that hold the
configuration of the plugin and its events respectively.
For that reason, we highly recommend you to visit the Select2 Documentation for the possible options available on Select2 and Select2 Bootstrap Theme to check all the possible display options regarding Select2 with this theme.
Note We are in the process to create a website that will demo all our widgets, including this. The following are some basic samples to get you started. On the website, demos will be extensive and showing all possible configuration options.
use dosamigos\select2\Select2:
// with \yii\bootstrap\ActiveForm;
echo $form
->field($model, 'attribute')
->widget(
Select2::class,
[
'items' => $data, // $data should be the same as the items provided to a regular yii2 dropdownlist
'clientOptions' => ['theme' => 'classic']
]
);
// as widget
echo Select2::widget([
'name' => 'my-name',
'value' => 'my-value',
'clientOptions' => [
'maximumInputLength' => 20
]
]);
use dosamigos\select2\Select2Bootstrap:
// displaying the select2 with prepended addon
echo $form
->field($model, 'attribute')
->widget(
Select2Bootstrap::class,
[
'items' => $data, // $data should be the same as the items provided to a regular yii2 dropdownlist
'template' => '<div class="input-group">' .
'<span class="input-group-btn">' .
'<button class="btn btn-default" type="button" data-select2-open="multi-prepend-append">' .
'State' .
'</button>' .
'</span>' .
'{input}' .
'<span class="input-group-addon">Append</span>' .
'</div>'
]
);
// as widget
echo Select2Bootstrap::widget([
'name' => 'my-name',
'value' => 'my-value',
'clientOptions' => [
'maximumInputLength' => 20
]
]);
$ phpunit
We have added a PHP code fixer to standardize our code. It includes Symfony, PSR2 and some contributors rules.
./vendor/bin/php-cs-fixer fix ./src --config .php_cs
Please see CONTRIBUTING for details.
The BSD License (BSD). Please see License File for more information.
Custom Software | Web & Mobile Development
www.2amigos.us