Introduction ¶
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.
Installation ¶
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 "*"
or add
"kartik-v/yii2-widget-select2": "*"
to the `require` section of your composer.json file.
Latest Release ¶
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.
Enhancements with release v2.0: ¶
- New
themeproperty that allows you to set themes in Select2 to style your widget. - A brand new theme by Krajee
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. - Additional themes provided in form of
Select2::THEME_DEFAULT,Select2::THEME_CLASSIC, andSelect2::THEME_BOOTSTRAP. One can add their own custom theme and configure the widget. - No more
queryplugin property needed. It is also not mandatory to configuredataeven if you have not settagsorqueryorajax. Widget will intelligently evaluate the properties and default list values. - Enhanced tagging support. Use it just like a multiple select but with taggable values. In addition, one can create tags on the fly.
- Enhanced ajax support. Refer the demos for details.
- The
initSelectionmethod of Select2 3.5.x plugin is obsolete/removed. NewinitValueTextproperty is been provided with the Select2 widget to cater to this (e.g. for ajax based loading). - Ability to disable selective option values in the Select2 dropdown OR add HTML attributes to selective options.
- Enhancement by Krajee to disable the search box to use like a normal select.
- Enhancements to locales and translations. Allow multiple language Select2 widgets on the same page.
Demo ¶
You can refer detailed documentation and demos on usage of the extension.
Usage ¶
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 kartik\select2 namespace.
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 ...']
]);
Report ¶
- Report any issues on the project page
- Use the forum page for any discussions on this extension
License ¶
yii2-widget-select2 is released under the BSD 3-Clause License. See the bundled LICENSE.md for details.
User Contributed Notes 1
where is the underline style?
As for version 2, I cannot find underline style, which is when I type in something, the each result will have an underline for matched characters. Where can I restore this style?
Btw, Please take note Ajax invoke changes in this new version
Just a remind that ver2 Ajax invoke code changes, so need to adjust your existing code accordingly.
Leave a comment
If you have any questions, please ask in the forum instead.
Join the conversation to share a note.