tags:

views:

204

answers:

3

I am trying to use JQuery to get all of the the values that are in a multiple select box. I currently have a picklist thing going on where users are selected in a select list box and then added to the PickList box. I am trying to use JQuery to get a somewhat formatted list (formatted with spaces) so I can parse that list later on. I am able to get a real weird string that is not formatted by doing this

$.map($('#PickList'), function(e) { return $(e).text(); } );

but this is not formatted with a space " " after each value and the string looks like it has a ton of whitespace in the front of it or something. Anyone know a way to do this? Thanks

A: 
var selectedOptions = $.map($('#PickList :selected'),
       function(e) { return $(e).text(); } );
var str = selectedOptions.join(' ');

If you want all options, replace :selected with option.

Without it, you're only selecting on elelment, so it's the same as $('#PickList').text()

Kobi
Thanks that did it
fiktionvt
@Lazarus - Thanks for the edit.
Kobi
A: 

I would think that you would want to get just the values from the selected options.

var selected = $.map( $('#PickList option:selected'),
                      function(e) { return $(e).val(); } );
tvanfosson
A: 

This plugin might help you, it adds fluent helpers for most form operations:

$("#PickList").selectedValues();

// Also available:
$("#PickList").isSelected("one", "two", "three");
$("#PickList").firstSelectedItem();
$("#PickList").lastSelectedItem();
Chris S