Description ¶
Select2 gives you a customizable select box with support for searching, tagging, remote data sets, infinite scrolling, and many other highly used options. For more information please visit Select2
Installation ¶
The preferred way to install this extension is through composer.
To install, either run
$ php composer.phar require conquer/select2 "*"
or add
"conquer/select2": "*"
to the `require` section of your composer.json file.
Usage ¶
Basic usage:
// Form edit view
use conquer\select2\Select2Widget;
use yii\helpers\ArrayHelper;
$form->field($model, 'attribute')->widget(
Select2Widget::className(),
[
'items'=>ArrayHelper::map(Catalog::find()->all(), 'id', 'name')
]
);
Ajax:
use conquer\select2\Select2Action;
...
class SiteController extends Controller
{
public function actions()
{
return [
'ajax' => [
'class' => Select2Action::className(),
'dataCallback' => [$this, 'dataCallback'],
],
];
}
/**
*
* @param string $q
* @return array
*/
public function dataCallback($q)
{
$query = new ActiveQuery(Catalog::className());
return [
'results' => $query->select([
'catalog_id as id',
'catalog_name as text',
])
->filterWhere(['like', 'catalog_name', $q])
->asArray()
->limit(20)
->all(),
];
}
}
// Form edit view:
$form->field($model, 'attribute')->widget(
Select2Widget::className(),
[
'ajax' => ['site/ajax']
]
);
License ¶
conquer/select2 is released under the MIT License. See the bundled LICENSE for details.
User Contributed Notes 1
Duplicate extension
You may want to check on existing extensions before working on them...
This extension already exists at yii2-widget-select2.
Leave a comment
If you have any questions, please ask in the forum instead.
Join the conversation to share a note.