kartik-v/yii2-widget-select2

增强型 Yii2 包装器,用于 Select2 jQuery 插件(从 yii2-widgets 分离出来的子仓库)。

资助包维护!
Open Collective

安装量: 7,626,828

依赖者: 291

建议者: 1

安全: 0

星标: 323

关注者: 19

分支: 145

开放问题: 5

语言:CSS

类型:yii2-extension

v2.2.5 2023-06-22 07:43 UTC

README

Krajee Logo
yii2-widget-select2 Donate       kartikv

Financial Contributors on Open Collective Stable Version Unstable Version License

Total Downloads Monthly Downloads Daily Downloads

这是 Select2 小部件,也是 Select2 jQuery 插件的 Yii 2 增强包装器。这个输入小部件是基于 jQuery 的选择框替代品。它支持搜索、远程数据集和结果的无限滚动。该小部件特别为 Bootstrap 3 设计,并提供了在源插件中不可用的几个增强功能。如果浏览器不支持 jQuery,则该小部件允许优雅地降级到正常的 HTML 选择框或文本输入。

注意:此扩展是自 2014 年 11 月 8 日起从 yii2-widgets 分离出来的子仓库。进行分离是为了允许开发者在需要时单独安装此特定小部件。也可以像之前一样使用扩展,与整个 yii2-widgets 套件一起使用。

安装

安装此扩展的首选方式是通过 composer。检查此扩展的 composer.json 文件,以获取此扩展的要求和依赖项。阅读此 web tip /wiki,了解如何为您的应用程序的 composer.json 设置 minimum-stability 设置。

要安装,请运行

$ php composer.phar require kartik-v/yii2-widget-select2 "@dev"

或将以下内容添加到您的 composer.json 文件的 require 部分。

"kartik-v/yii2-widget-select2": "@dev"

发布更改

注意:有关各种版本更改的详细信息,请参阅 更改日志

该小部件在 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_DEFAULTSelect2::THEME_CLASSICSelect2::THEME_BOOTSTRAP。可以添加自定义主题并配置小部件。
  • 不再需要 query 插件属性。即使没有设置 tagsqueryajax,配置 data 也不是强制的。小部件将智能评估属性和默认列表值。
  • 增强的标签支持。就像多选一样使用它,但具有可标记的值。此外,还可以动态创建标签。
  • 增强的 Ajax 支持。请参阅示例以获取详细信息。
  • Select2 3.5.x 插件的 initSelection 方法已过时/已删除。Select2 小部件提供了一个新的 initValueText 属性来应对这一需求(例如,基于 Ajax 的加载)。
  • 可以在 Select2 下拉菜单中禁用可选值,或者向可选值添加 HTML 属性。
  • Krajee 对其进行了增强,可以禁用搜索框,使其像普通选择框一样使用。
  • 对区域和翻译进行了增强。允许在同一页面上使用多个语言 Select2 小部件。

文档和示例

您可以在详细文档和示例以及API 代码文档中查看扩展的使用方法。

使用方法

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 文件。