proenix / yii2-widget-select2
增强的 Yii2 Select2 jQuery 插件包装器(从 yii2-widgets 分离出的子仓库)。
Requires
README
这是一个 Select2 小部件,也是 Select2 jQuery 插件的 Yii 2 增强包装器。[Select2 jQuery 插件](http://ivaynberg.github.io/select2)是一个基于jQuery的替代选择框的输入小部件。它支持搜索、远程数据集以及结果的无限滚动。小部件特别为 Bootstrap 3 进行了样式设计,并提供了一些在源插件中不可用的增强功能。如果浏览器不支持jQuery,小部件允许优雅地降级到正常的HTML选择或文本输入。
注意:此扩展是[yii2-widgets](https://github.com/kartik-v/yii2-widgets)的子仓库。自2014年11月8日起进行分离,以便开发人员在需要时可以单独安装此特定小部件。也可以使用扩展的旧方法,与[yii2-widgets](http://demos.krajee.com/widgets)的整个套件一起使用。
安装
安装此扩展的首选方式是通过[composer](https://getcomposer.org.cn/download/)。检查[composer.json](https://github.com/kartik-v/yii2-widget-select2/blob/master/composer.json)以了解此扩展的要求和依赖项。阅读此[web tip/wiki](http://webtips.krajee.com/setting-composer-minimum-stability-application/)了解如何为您的应用程序的composer.json设置minimum-stability
设置。
要安装,请运行
$ php composer.phar require kartik-v/yii2-widget-select2 "@dev"
或添加
"kartik-v/yii2-widget-select2": "@dev"
到您的composer.json
文件的require
部分。
最新版本
注意:模块的最新版本是 v2.0.9。有关详细信息,请参阅[CHANGE LOG](https://github.com/kartik-v/yii2-widget-select2/blob/master/CHANGE.md)。
小部件在 v2.0 版本中进行了重大版本更新。此版本包括对 Select2 插件 v4.0 的更新。Select2 v4.0 是对 Select2 v3.x 的重大重写,因此可以预期会有许多增强或更改。要使用较早的插件版本 v3.5.2,您必须将其指向小部件的v1.0.1 版本。
v2.0 版本的增强功能
- 新的
theme
属性,允许您在 Select2 中设置主题以样式化您的小部件。 - 由 Krajee 提供的全新主题
Select2::THEME_KRAJEE
专门为 Select2 进行了样式设计。这将有助于实现各种新的yii2-widget-select2功能。此主题与 Bootstrap 3 样式相匹配,并提供了增强功能。 - 提供其他主题,包括
Select2::THEME_DEFAULT
、Select2::THEME_CLASSIC
和Select2::THEME_BOOTSTRAP
。您可以添加自己的自定义主题并配置小部件。 - 不再需要
query
插件属性。即使您没有设置tags
、query
或ajax
,也不必强制配置data
。小部件将智能评估属性并默认列出值。 - 增强的标签支持。就像多选一样使用它,但具有可标记的值。此外,您还可以动态创建标签。
- 增强的 AJAX 支持。有关详细信息,请参阅[demos](http://demos.krajee.com/widget-details/select2)。
- Select2 3.5.x 插件的
initSelection
方法已过时/已删除。Select2 小部件提供了新的initValueText
属性来应对这一点(例如,基于 AJAX 的加载)。 - Select2 下拉菜单中禁用选中选项值的权限或为选中选项添加 HTML 属性。
- Krajee 对其进行了增强,允许将其搜索框禁用,使其像普通选择框一样使用。
- 对地域和翻译进行了增强。允许在同一页面上有多个语言版本的 Select2 小部件。
文档和演示
您可以在详细文档和演示中查看扩展的用法。
用法
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 在 BSD 3-Clause 许可下发布。有关详细信息,请参阅附带的 LICENSE.md
文件。