Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery multiselect drop down menu

I have a simple html multi select drop down list:

<select id="transactionType" multiple="multiple" size="10">   <option value="ALLOC">ALLOC</option>   <option value="LOAD1">LOAD1</option>   <option value="LOAD2">LOAD2</option>   <!-- etcetera... --> </select> 

I want to continue to use this list in the event javascript is disabled however with javaScript I would like to render the list as a multi-select drop down list. That is it only shows one item in the list until clicked and then will expand to show x items and provide scrolling, where I can select multiple elements as you would expect while holding shift or ctrl.

New to jQuery was searching the http://jquery.com/ but haven't yet found what I need.

Edit Struts2 users, the selected answer will url encode with [] this causes issues in struts2 the fix however is very easy. Simply open jquery.multiSelect.js and search for "[]" and delete the one instance this is used in a string concatenation. I also am using jQuery 1.4.4 as opposed to the 1.3.2 which came bundled with it and everything works just fine.

like image 943
Quaternion Avatar asked Jan 20 '11 22:01

Quaternion


People also ask

How can I get selected values from multiselect dropdown in jQuery?

With jQuery, you can use the . val() method to get an array of the selected values on a multi-select dropdown list.

How create a multiple selected checkbox with dropdown in jQuery?

jQuery MultiSelect With Select All Option: The following code adds select all text to options list in multiselect dropdown. It allows to check/uncheck all options at once. $('#langOpt'). multiselect({ columns: 1, placeholder: 'Select Languages', search: true, selectAll: true });


2 Answers

I was also looking for a simple multi select for my company. I wanted something simple, highly customizable and with no big dependencies others than jQuery.

I didn't found one fitting my needs so I decided to code my own.
I use it in production.

Here's some demos and documentation: loudev.com

If you want to contribute, check the github repository

like image 38
lou Avatar answered Oct 12 '22 10:10

lou


Update (2017): The following two libraries have now become the most common drop-down libraries used with Javascript. While they are jQuery-native, they have been customized to work with everything from AngularJS 1.x to having custom CSS for Bootstrap. (Chosen JS, the original answer here, seems to have dropped to #3 in popularity.)

  • Select2: https://select2.github.io/
  • Selectize: http://selectize.github.io/selectize.js/

Obligatory screenshots below.

Select2: Select2

Selectize: Selectize


Original answer (2012): I think that the Chosen library might also be useful. Its available in jQuery, Prototype and MooTools versions.

Attached is a screenshot of how the multi-select functionality looks in Chosen.

Chosen library

like image 113
Suman Avatar answered Oct 12 '22 11:10

Suman