Chosen is a jQuery plugin that makes long, unwieldy select
boxes much more user-friendly.
Downloads
Project
Source Contribute
Turns This
Into This
Turns This
Into This
Single Select with Groups
Multiple Select with Groups
Chosen automatically highlights selected options and removes
disabled options.
Single Select
Multiple Select
The
disable_search_threshold
option can be specified to hide the search input on single selects
if there are n or fewer options.
$(".chosen-select").chosen({disable_search_threshold: 10});
Chosen automatically sets the default field text ("Choose a
country...") by reading the select element's data-placeholder
value. If no data-placeholder value is present, it will default to
"Select an Option" or "Select Some Options" depending on whether
the select is single or multiple. You can change these elements in
the plugin js file as you see fit.
<select data-placeholder="Choose a country..." style="width:350px;" multiple class="chosen-select">
Note: on single selects, the first element is
assumed to be selected by the browser. To take advantage of the
default text support, you will need to include a blank option as
the first element of your select list.
Setting the "No results" search text is as easy as passing
an option when you create Chosen:
$(".chosen-select").chosen({no_results_text: "Oops, nothing found!"});
Single Select
Multiple Select
You can easily limit how many options the user can select:
$(".chosen-select").chosen({max_selected_options: 5});
If you try to select another option with limit reached
chosen:maxselected
event is triggered:
$(".chosen-select").bind("chosen:maxselected", function () { ... });
When a single select box isn't a required field, you can set
allow_single_deselect:
true
and Chosen will add a UI element for option deselection. This will
only work if the first option has blank text.
Chosen supports right to left select boxes too. just add
"chosen-rtl"
in addition to
"chosen-select"
to your select tags and you are good to go.
<select class="chosen-select chosen-rtl">
Single right to left select
Multiple right to left select
-
Observing Form Field Changes
When working with form fields, you often want to perform
some behavior after a value has been selected or deselected.
Whenever a user selects a field in Chosen, it triggers a
"change" event on the original form field. That lets you do
something like this:
$("#form_field").chosen().change( … );
-
Updating Chosen Dynamically
If you need to update the options in your select field and
want Chosen to pick up the changes, you'll need to trigger the
"chosen:updated" event on the field. Chosen will re-build itself
based on the updated content.
$("#form_field").trigger("chosen:updated");
-
Destroying Chosen
To destroy Chosen and revert back to the native select:
$("#form_field").chosen("destroy");
Using a custom width with Chosen is as easy as passing an
option when you create Chosen:
$(".chosen-select").chosen({width: "95%"});
Single Select
Multiple Select
Use labels just like you would a standard select
Using Chosen is easy as can be.
- Download
the plugin and copy the chosen files to your app.
- Activate the plugin on the select boxes of your choice:
$(".chosen-select").chosen()
- Disco.
-
Do you have all the available options documented
somewhere?
Yes! You can find them on the options
page.
-
Something doesn't work. Can you fix it?
Yes! Please report all issues using the GitHub
issue tracking tool. Please include the plugin version (jQuery
or Prototype), browser and OS. The more information provided, the
easier it is to fix a problem.
-
What browsers are supported?
All modern desktop browsers are supported (Firefox, Chrome,
Safari and IE9). Legacy support for IE8 is also enabled. Chosen
is disabled on iPhone, iPod Touch, and Android mobile devices (more
information).
-
Didn't there used to be a Prototype version of Chosen?
There still is!