MultiSelect Widget for Yii2
It supports searching, remote data sets, and infinite scrolling of results.https://github.com/kartik-v/yii2-widget-select2
Kartik Multiselect widget
in _form.php
use kartik\select2\Select2;
<?php
echo Select2::widget([
'model' => $model,
'name' => 'certificates',
'attribute' => 'certificates',
'data' => ArrayHelper::map(Mulcertificates::find()->orderBy('description')->all(),'id','description'), //['1'=>'1','2'=>2],
'options' => [
'placeholder' => 'Select certificates ...',
'multiple' => true
],
]);
?>
Controller.php
public function actionCreate()
{
$model = new Mulselect();
if ($model->load(Yii::$app->request->post())) {
$model->certificates = implode(",",$model->certificates);
$model->save();
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
public function actionUpdate($id)
{
$model = $this->findModel($id);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
$model->certificates= explode(',', $model->certificates);
return $this->render('update', [
'model' => $model,
]);
}
}
Links
Select2 Widget