Używam multiseleksu z opcjami zgrupowanymi razem.Jak uzyskać Optgroup dla multiselect w jQuery?
<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>
Próbowałem $(this).find("option:selected").parent().attr("label")
który zwraca tylko optgroup pierwszej wybranej opcji, czyli jeśli były zarówno wybrany truskawka i gruszka, optgroup „.fruit” zostaną zwrócone na obu kontach.
Korzystając z jQuery, w jaki sposób uzyskać grupę optyczną dla każdej wybranej opcji?
Jeśli połowu zdarzenie i robi $ (e.target) .filter („: wybrano”) z jakiegoś powodu nie zadziała. W takim przypadku działa $ (e.target) .find (": selected"). W rzeczywistości find() działa w obu przypadkach, więc polecam użyć tego zamiast filtra(). – Swader