2017-04-19 69 views
0

在yii2基本ActiveForm中,我添加了一个下拉列表,并在其中使用“options”数组添加了我的属性。我想在我的下拉列表中添加select2,但它是没有工作。我已经搜索网站上发现“选项”阵列的这种方法我在下面使用,但它仍然显示在视图中如何在Yii2下拉列表中应用select2

<div class="col-xs-6 col-lg-6"> 
    <div class="form-group form-material floating" data-plugin="formMaterial"> 
     <div class="example"> <b role="presentation"></b> 
     <?= $form->field($model, 'corporation_status')->dropDownList(Yii::$app->appstatues->status,['options'=>['class'=>'form-control','prompt'=>'abc','data-plugin'=>'select2']])->label('Stat'); ?> 
     </div> 
     </div> 
     </div> 

任何帮助将非常感激无输出。

+1

使用[卡尔蒂克的选择2插件(http://demos.krajee.com/widget-details/select2) – gmc

回答

0

使用扩展https://github.com/kartik-v/yii2-widget-select2

许多美好的扩展是有太多: http://demos.krajee.com/

+0

我们不能只用“数据插件” =>“选择2”在任何地方在选项数组内?它不是正确的方法吗? –

+0

正确的做法是为JS库Select2使用Yii2包装(Kartik的是最常用的包装)。 '数据插件'不会工作,除非你有进一步的逻辑,我们不知道。你可以用你自己的那个属性在元素上启动Select2,但是包装器太好了,不能使用它,很多人和着名的包装器通常都使用它。 – Ravenous

0

找到要添加到您的下拉列表中的“选择2”的解决方案执行以下步骤: 添加下面的CSS和js文件到你的“AppAsset”:

https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css 
https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js 

,并在表单字段中添加“数据插件” =>“选择2”是这样的:

<?= $form->field($model, 'corporation_status')->dropDownList(Yii::$app->appstatues->status,['prompt' => 'hello','data-plugin'=>'select2','class'=>'form-control'])->label('Status'); ?> 
0

运行这个命令来安装卡尔蒂克\选择2部件的yii2

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

然后使用该控件。

//Include kartik\select2 Class 
use kartik\select2\Select2; 

// Normal select with ActiveForm & model 
echo $form->field($model, 'corporation_status')->widget(Select2::classname(), [ 
    'data' => Yii::$app->appstatues->status, 
    'options' => ['prompt' => 'Select a state ...'], 
    'pluginOptions' => [ 
     'allowClear' => true 
    ], 
]);