yii2-widget、Select2 和 taggest 支持
Posted
技术标签:
【中文标题】yii2-widget、Select2 和 taggest 支持【英文标题】:yii2-widget, Select2 and taggest support 【发布时间】:2014-06-19 23:56:33 【问题描述】:我可以仅对来自模型的数据使用 taggest 支持吗?我不需要用户创建新标签
echo '<label class="control-label">Tag Content</label>';
echo Select2::widget([
'name' => 'color_1',
'options' => ['placeholder' => 'Select a color ...', 'class'=>'form-control'],
'pluginOptions' => [
'tags' => ["red", "green", "blue", "orange", "white", "black", "purple", "cyan", "teal"],
'maximumInputLength' => 10
],
]);
现在用户可以添加“gr”、“r”等标签,但我不想要它。我只需要由我的模型创建的标签(如 ***)
【问题讨论】:
我的意思是这个小部件link 使用下拉菜单..或自动完成小部件!! 所以它是自动完成的) 【参考方案1】:在你的 _form.php 中
echo '<label class="control-label">Tag Content</label>';
echo Select2::widget([
'model' => $model,
'attribute' => 'tags',
'name' => 'tags',
'data' => common\models\Tag::getOptions(),
'options' => [
'placeholder' => 'Select a color ...',
'class' => 'form-control',
'multiple' => true
], ]);
然后在你的模型中添加以下代码
public static function getOptions()
$data= static::find()->all();
$value=(count($data)==0)? [''=>'']: \yii\helpers\ArrayHelper::map($data, 'id','name'); //id = your ID model, name = your caption
return $value;
【讨论】:
以上是关于yii2-widget、Select2 和 taggest 支持的主要内容,如果未能解决你的问题,请参考以下文章
在rails上使用select2 gem和acts_as_taggable gem
angular-ui select2 tagging 更新数据值