longman96 / yii2-widget-select2
Enhanced Yii2 wrapper for the Select2 jQuery plugin (sub repo split from yii2-widgets).
Installs: 126
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 145
Language:JavaScript
Type:yii2-extension
Requires
This package is not auto-updated.
Last update: 2024-12-11 19:53:11 UTC
README
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 "@dev"
or add
"kartik-v/yii2-widget-select2": "@dev"
to the require
section of your composer.json
file.
Latest Release
NOTE: The latest version of the module is v2.0.4 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
theme
property that allows you to set themes in Select2 to style your widget. - A brand new theme by Krajee
Select2::THEME_KRAJEE
is 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
query
plugin property needed. It is also not mandatory to configuredata
even if you have not settags
orquery
orajax
. 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
initSelection
method of Select2 3.5.x plugin is obsolete/removed. NewinitValueText
property 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
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 ...'] ]);
License
yii2-widget-select2 is released under the BSD 3-Clause License. See the bundled LICENSE.md
for details.