Yii2下的select2使用
时间: 2023-07-20 17:08:44 浏览: 167
ESelect2:(已弃用 - 未维护) ESelect2 是 Yii 框架的小部件扩展。 此扩展是 Select2 Jquery 插件 (https
在 Yii2 中使用 Select2 可以通过以下步骤实现:
1. 在 `composer.json` 文件中添加以下依赖:
```json
"require": {
"kartik-v/yii2-widget-select2": "@dev"
}
```
2. 在终端运行 `composer update` 命令安装依赖。
3. 在需要使用 Select2 的视图中添加以下代码:
```php
use kartik\select2\Select2;
echo $form->field($model, 'attribute')->widget(Select2::classname(), [
'data' => $data,
'options' => ['placeholder' => 'Select a value'],
'pluginOptions' => [
'allowClear' => true
],
]);
```
其中 `$model` 是当前模型,`$data` 是要显示在 Select2 中的选项数组。
4. 在控制器中对 `$data` 进行赋值,例如:
```php
$data = ['1' => 'Option 1', '2' => 'Option 2', '3' => 'Option 3'];
```
5. 如果需要使用 AJAX 动态加载选项,可以在 `pluginOptions` 中设置 `ajax` 选项,例如:
```php
'pluginOptions' => [
'allowClear' => true,
'minimumInputLength' => 2,
'ajax' => [
'url' => Url::to(['controller/action']),
'dataType' => 'json',
'data' => new JsExpression('function(params) { return {q:params.term}; }')
],
]
```
其中 `Url::to(['controller/action'])` 是 AJAX 请求的 URL,`dataType` 是返回的数据格式,`data` 选项用于设置 AJAX 请求的参数。需要在控制器中实现 `action` 方法来处理 AJAX 请求,并返回 JSON 格式的数据。
以上就是在 Yii2 中使用 Select2 的基本步骤,可以根据实际需要进行调整和扩展。
阅读全文