There are at least 3 types of selection based columns:
- Choice lists (single value and multi-value)
- Lookup lists
- Managed Metadata
- Custom multi-valued columns - most complex - won't fit really as it is too complex.
There is a difference in how you would need to read/store these values. For example for Lookup you would use SP.FieldLookupValue
which shall return an array, as in
function onQuerySucceeded(sender, args)
{
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext())
{
var oListItem = listItemEnumerator.get_current();
var selItems = oListItem.get_item('SelectedItems');
var i=0;
for(i=0;i<selItems.length;i++)
{
alert(selItems[i].get_lookupValue());
}
}
}
See here a full example