I am using a multiselect with options grouped together.
<select title="Fruits" multiple="multiple" id="fruits" name="fruits[]">
<option selected="selected" label="All" value="">All</option>
<optgroup label="" class="fruit">
<option label="apple" value="1">Apple</option>
<option label="pear" value="2">Pear</option>
<option label="orange" value="3">Orange</option>
</optgroup>
<optgroup label="" class="berries">
<option label="strawberry" value="4">Strawberry</option>
<option label="raspberry" value="5">Raspberry</option>
<option label="blueberry" value="6">Blueberry</option>
</optgroup>
</select>
I've tried $(this).find("option:selected").parent().attr("label")
which only returns the optgroup of the first selected option, meaning if Strawberry and Pear were both selected, optgroup '.fruit' would be returned on both accounts.
Using jQuery, how do I get the optgroup of each selected option?
Try this
$(this).find("option:selected").each(function(){
$(this).parent().attr("label");
});