【问题标题】:how to select multiple values using select2 widget in yii2如何在 yii2 中使用 select2 小部件选择多个值
【发布时间】:2018-06-18 03:15:04
【问题描述】:

我在我的项目中使用 select to widget 和 'multiple' => true

 <?php echo $form->field($model, 'task')->widget(Select2::classname(), [
                        'data' => $companiesList,
                        'options' => ['placeholder' => 'Select company type ...',],
                        'pluginOptions' => ['allowClear' => true,'multiple' => true,],
                    ]);?>

但是当我选择多个值时会出错

如何使用select2选择多个值??

【问题讨论】:

  • 能否添加您的型号代码?

标签: yii2 jquery-select2


【解决方案1】:

在您的模型中更改您的规则添加行:

public function rules()
    {
        return [
....
    ['task','safe']
....
               ] 
    }

并从“字符串”行规则中删除任务! 在下一步中,您必须将此 ID 存储在多对多表中,或者将该链接字符串分隔符存储在单列中。

在你的控制器中添加这个:

public function actionCreate()
    {

....
 if ($model->load(Yii::$app->request->post()))  { 
....
$task_string = "";
foreach($model->task as $singl_task){
  $task_string.= $singl_task."-";
}
$model->task = $task_string;

【讨论】:

  • 我希望选择的值是字符串,怎么做
  • @kiamoz,为什么不使用 implode(','yii\helpers\ArrayHelper::getValue($model-&gt;task)) 并摆脱 foreach ;)
  • @Goli 你可以使用 implode ,但是我的代码可以让你增加更多的灵活性,并且对所有的任务做更多的事情。比如在每个任务上添加一些计算......
  • @MuhammadOmerAslam chekc 以上
猜你喜欢
  • 2017-08-15
  • 2017-12-10
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
  • 2019-10-19
  • 2022-01-02
  • 2016-06-11
  • 2016-12-03
相关资源
最近更新 更多