Chosen

Chosen


Описание
Свойства

Плагин Chosen позволяет сделать длинные громоздкие select'ы более дружелюбными для пользователя. Он работает как с одиночными, так и групповыми полями выбора.

Подключение

Чтобы плагин стал доступен на странице необходимо подключить файл с библиотекой jQuery, а так же файлы js и css плагина: (их можно скачать на github):

в папку с css нужно поместить файл со спрайтами плагина chosen-sprite.png (его можно найти вместе с другими файлами скачанного плагина).

Chosen реализован не только как плагин jQuery, но и как плагин к js-библиотеке Prototype. Файлы для Prototype имеют в имени часть proto — их подключать к странице не нужно.

Использование

Chosen поддерживает работу с группирующими элементами <optgroup>, а так же атрибутами selected и disabled у выбираемых элементов (<option>).

Чтобы установить в поле выбора вспомогательный текст (например «Выберите страну» или «Выберите любимую команду»), необходимо указать его в атрибуте data-placeholder элемента <select>. При этом, в случае единичного поиска, первый из вариантов выбора необходимо сделать пустым (это связано с тем, что в браузерах не предусмотрено состояние "ничего не выбрано" и они по умолчанию делают выбранным первый из элементов):

Как вы уже могли заметить, Chosen обладает строкой поиска. Если по введенной туда строке нет подходящих результатов, то будет выведен текст, который можно задать в свойстве no_results_text.

Chosen и события
Если вам нужно обработать событие change в поле выбора, то вы можно делать это так же, как если бы плагин Chosen не был применен к этому полю. Например так:

Если элементы в оригинальном поле выбора были изменены (добавлены, удалены) после установки Chosen, то чтобы они вступили в силу, необходимо вызвать на элементе <select> событие 'liszt:updated':

После этого, поле выбора будет обновлено.

Информация

Размер плагина ~38k (js+css+png)
Официальная страница
Кроссбраузерный (работает во всех современных браузерах)

↓  название :типы значений (значение по умолчанию)
allow_single_deselect:boolean(false)
Определяет, можно ли в поле единичного выбора отменять (удалять) выбранный результат. По умолчанию, этого делать нельзя — можно только менять выбранный результат на другой. Если вы установите allow_single_deselect в true, необходимо так же, чтобы первый из вариантов выбора был пустой (это связано с тем, что в браузерах не предусмотрено состояние "ничего не выбрано" и они по умолчанию делают выбранным первый из элементов).
disable_search_threshold:integer('0')
Определяет минимальное количество элементов выбора, при котором будет появляться стока поиска (речь идет о поле единичного выбора, при множественном выборе, роль строки поиска играет само поле).
search_contains:boolean('false')
Когда это свойство выключено, поиск элементов происходит по совпадению с началом элементов выбора. Если же это свойство включено, поиск происходит по совпадению в любой части элементов.
max_selected_options:integer(Infinity)
Это свойство определяет максимальное количество элементов, которые могут быть выбраны при множественном выборе. По умолчанию, количество выбираемых элементов не ограничено.