【问题标题】:yii2-widget, Select2 and taggest supportyii2-widget、Select2 和 taggest 支持
【发布时间】: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”等标签,但我不想要它。我只需要由我的模型创建的标签(如 stackoverflow)

【问题讨论】:

  • 我的意思是这个小部件link
  • 使用下拉菜单..或自动完成小部件!!
  • 所以它是自动完成的)

标签: php yii jquery-select2 yii-extensions yii2


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 2017-01-08
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多