Chosen is a jQuery plugin that makes long, unwieldy select boxes much more user-friendly.
Downloads
Project Source
Contribute
Turns This
Into This
Choose a Country...
- United States
- United Kingdom
- Afghanistan
- Aland Islands
- Albania
- Algeria
- American Samoa
- Andorra
- Angola
- Anguilla
- Antarctica
- Antigua and Barbuda
- Argentina
- Armenia
- Aruba
- Australia
- Austria
- Azerbaijan
- Bahamas
- Bahrain
- Bangladesh
- Barbados
- Belarus
- Belgium
- Belize
- Benin
- Bermuda
- Bhutan
- Bolivia, Plurinational State of
- Bonaire, Sint Eustatius and Saba
- Bosnia and Herzegovina
- Botswana
- Bouvet Island
- Brazil
- British Indian Ocean Territory
- Brunei Darussalam
- Bulgaria
- Burkina Faso
- Burundi
- Cambodia
- Cameroon
- Canada
- Cape Verde
- Cayman Islands
- Central African Republic
- Chad
- Chile
- China
- Christmas Island
- Cocos (Keeling) Islands
- Colombia
- Comoros
- Congo
- Congo, The Democratic Republic of The
- Cook Islands
- Costa Rica
- Cote D'ivoire
- Croatia
- Cuba
- Curacao
- Cyprus
- Czech Republic
- Denmark
- Djibouti
- Dominica
- Dominican Republic
- Ecuador
- Egypt
- El Salvador
- Equatorial Guinea
- Eritrea
- Estonia
- Ethiopia
- Falkland Islands (Malvinas)
- Faroe Islands
- Fiji
- Finland
- France
- French Guiana
- French Polynesia
- French Southern Territories
- Gabon
- Gambia
- Georgia
- Germany
- Ghana
- Gibraltar
- Greece
- Greenland
- Grenada
- Guadeloupe
- Guam
- Guatemala
- Guernsey
- Guinea
- Guinea-bissau
- Guyana
- Haiti
- Heard Island and Mcdonald Islands
- Holy See (Vatican City State)
- Honduras
- Hong Kong
- Hungary
- Iceland
- India
- Indonesia
- Iran, Islamic Republic of
- Iraq
- Ireland
- Isle of Man
- Israel
- Italy
- Jamaica
- Japan
- Jersey
- Jordan
- Kazakhstan
- Kenya
- Kiribati
- Korea, Democratic People's Republic of
- Korea, Republic of
- Kuwait
- Kyrgyzstan
- Lao People's Democratic Republic
- Latvia
- Lebanon
- Lesotho
- Liberia
- Libya
- Liechtenstein
- Lithuania
- Luxembourg
- Macao
- Macedonia, The Former Yugoslav Republic of
- Madagascar
- Malawi
- Malaysia
- Maldives
- Mali
- Malta
- Marshall Islands
- Martinique
- Mauritania
- Mauritius
- Mayotte
- Mexico
- Micronesia, Federated States of
- Moldova, Republic of
- Monaco
- Mongolia
- Montenegro
- Montserrat
- Morocco
- Mozambique
- Myanmar
- Namibia
- Nauru
- Nepal
- Netherlands
- New Caledonia
- New Zealand
- Nicaragua
- Niger
- Nigeria
- Niue
- Norfolk Island
- Northern Mariana Islands
- Norway
- Oman
- Pakistan
- Palau
- Palestinian Territory, Occupied
- Panama
- Papua New Guinea
- Paraguay
- Peru
- Philippines
- Pitcairn
- Poland
- Portugal
- Puerto Rico
- Qatar
- Reunion
- Romania
- Russian Federation
- Rwanda
- Saint Barthelemy
- Saint Helena, Ascension and Tristan da Cunha
- Saint Kitts and Nevis
- Saint Lucia
- Saint Martin (French part)
- Saint Pierre and Miquelon
- Saint Vincent and The Grenadines
- Samoa
- San Marino
- Sao Tome and Principe
- Saudi Arabia
- Senegal
- Serbia
- Seychelles
- Sierra Leone
- Singapore
- Sint Maarten (Dutch part)
- Slovakia
- Slovenia
- Solomon Islands
- Somalia
- South Africa
- South Georgia and The South Sandwich Islands
- South Sudan
- Spain
- Sri Lanka
- Sudan
- Suriname
- Svalbard and Jan Mayen
- Swaziland
- Sweden
- Switzerland
- Syrian Arab Republic
- Taiwan, Province of China
- Tajikistan
- Tanzania, United Republic of
- Thailand
- Timor-leste
- Togo
- Tokelau
- Tonga
- Trinidad and Tobago
- Tunisia
- Turkey
- Turkmenistan
- Turks and Caicos Islands
- Tuvalu
- Uganda
- Ukraine
- United Arab Emirates
- United Kingdom
- United States
- United States Minor Outlying Islands
- Uruguay
- Uzbekistan
- Vanuatu
- Venezuela, Bolivarian Republic of
- Viet Nam
- Virgin Islands, British
- Virgin Islands, U.S.
- Wallis and Futuna
- Western Sahara
- Yemen
- Zambia
- Zimbabwe
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 fewer than (n) 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
-
Form Field Change
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 let's 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");
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!