This is the Select2 widget and a Yii 2 enhanced wrapper for the Select2 jQuery plugin. This input widget is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results. The widget is specially styled for Bootstrap 3 and offers a few enhancements not available in the source plugin. The widget allows graceful degradation to a normal HTML select or text input, if the browser does not support JQuery.
Note: This extension is a sub repo split of yii2-widgets. The split has been done since 08-Nov-2014 to allow developers to install this specific widget in isolation if needed. One can also use the extension the previous way with the whole suite of yii2-widgets.
The preferred way to install this extension is through composer. Check the composer.json for this extension's requirements and dependencies. Read this web tip /wiki on setting the
minimum-stability settings for your application's composer.json.
To install, either run
$ php composer.phar require kartik-v/yii2-widget-select2 "*"
require section of your
Note: The latest version of the module is v2.0 Refer the CHANGE LOG for details.
The widget has a major version revamp with v2.0. This release includes updates to use Select2 plugin release v4.0. Select2 release v4.0 is a major rewrite over Select2 v3.x and hence quite a few enhancements or changes should be expected. To use the earlier plugin release v3.5.2, you must point it to the v1.0.1 release of the widget.
themeproperty that allows you to set themes in Select2 to style your widget.
Select2::THEME_KRAJEEis specially styled for Select2. This will help achieve various new yii2-widget-select2 features. This theme matches the bootstrap 3 styling with enhancements.
Select2::THEME_BOOTSTRAP. One can add their own custom theme and configure the widget.
queryplugin property needed. It is also not mandatory to configure
dataeven if you have not set
ajax. Widget will intelligently evaluate the properties and default list values.
initSelectionmethod of Select2 3.5.x plugin is obsolete/removed. New
initValueTextproperty is been provided with the Select2 widget to cater to this (e.g. for ajax based loading).
You can refer detailed documentation and demos on usage of the extension.
If you are installing yii2-widgets, then you can directly access this using
kartik\widgets namespace. If installing this repo in isolation, you can access this from
use kartik\select2\Select2; // Normal select with ActiveForm & model echo $form->field($model, 'state_1')->widget(Select2::classname(), [ 'data' => $data, 'language' => 'de', 'options' => ['placeholder' => 'Select a state ...'], 'pluginOptions' => [ 'allowClear' => true ], ]); // Multiple select without model echo Select2::widget([ 'name' => 'state_2', 'value' => '', 'data' => $data, 'options' => ['multiple' => true, 'placeholder' => 'Select states ...'] ]);
yii2-widget-select2 is released under the BSD 3-Clause License. See the bundled
LICENSE.md for details.