An open API service indexing awesome lists of open source software.

https://github.com/sdkiller/zyx-yii2-chosen

Chosen widget for Yii2 (with Bootstrap3)
https://github.com/sdkiller/zyx-yii2-chosen

Last synced: 11 days ago
JSON representation

Chosen widget for Yii2 (with Bootstrap3)

Awesome Lists containing this project

README

        

This is a fork of https://github.com/RomeroMsk/yii2-chosen, made in attempt to keep up to date dependency of http://harvesthq.github.io/chosen/

UPD
===

Since version 1.4.2 *Chosen* provides compiled sourses also in `bower` package and separate repo https://github.com/harvesthq/bower-chosen

This fork is switching to `bower` sourses.
------------------------------------------

Chosen + Bootstrap 3 + Yii2
===========================

Credits
-------
Chosen http://harvesthq.github.io/chosen/

Chosen Bootstrap Look & Feel https://github.com/dbtek/chosen-bootstrap (with my style fixes)

Installation
------------
The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
php composer.phar require "nex/yii2-chosen" "*"
```

or add

```
"nex/yii2-chosen" : "*"
```

to the `require` section of your application's `composer.json` file.

Usage
-----
**With a model**

```

= Chosen::widget([
'model' => $model,
'attribute' => 'selectable_attr',
'items' => [1 => 'First item', 2 => 'Second item', 3 => 'Third item'],
'multiple' => true,
]);?>

= $form->field($model, 'selectable_attr')->widget(
Chosen::className(), [
'items' => [1 => 'First item', 2 => 'Second item', 3 => 'Third item'],
'disableSearch' => 5, // Search input will be disabled while there are fewer than 5 items
'clientOptions' => [
'search_contains' => true,
'single_backstroke_delete' => false,
],
]);?>
```
**Without a model**

```

= Chosen::widget([
'name' => 'ChosenTest',
'value' => 3,
'items' => [1 => 'First item', 2 => 'Second item', 3 => 'Third item'],
'allowDeselect' => false,
'disableSearch' => true, // Search input will be disabled
'clientOptions' => [
'search_contains' => true,
'max_selected_options' => 2,
],
]);?>
```

To override default placeholder strings you can add translated messages for `Select an option` (single select) and `Select some options` (multiple select) to your application message file. By default widget will use 'app' category to translate this strings, but you can set your own category by changing `translateCategory` option in widget configuration. For example, you can write this in application config file:
```
set('nex\chosen\Chosen', [
'translateCategory' => 'my-app',
]);
```
Also you can override placeholder text when invoking widget (it can be useful for selects with small width):
```

= Chosen::widget([
'name' => 'ChosenTest',
'value' => 3,
'items' => [1 => 'First item', 2 => 'Second item', 3 => 'Third item'],

'placeholder' => 'Select',
]);?>
```