Select - jeśli ostatnia wartość option jest zaznaczona

Select - jeśli ostatnia wartość option jest zaznaczona
SH
  • Rejestracja:około 13 lat
  • Ostatnio:ponad 3 lata
  • Postów:152
0

Witajcie, męczę się od jakiegoś czasu z napisaniem skryptu, który będzie działał na podstawie poniższego kodu:

Kopiuj
<select name="group_1" id="group_1">
  <option value="1" title="klasa 1 podstawowa">klasa 1 podstawowa</option>
  <option value="2" title="klasa 2 podstawowa">klasa 2 podstawowa</option>
  <option value="3" title="klasa 3 podstawowa">klasa 3 podstawowa</option>
  <option value="4" title="klasa 4 podstawowa">klasa 4 podstawowa</option>
  <option value="5" title="klasa 5 podstawowa">klasa 5 podstawowa</option>
  <option value="6" title="klasa 6 podstawowa">klasa 6 podstawowa</option>
  <option value="9" selected="selected" title="Inna klasa">Inna klasa</option>
</select>

Chodzi o to, żeby sprawdzić czy ostatnia opcja jest zaznaczona - jeśli tak to dodać ramkę do Select, np. czerwoną.
Najgorsze jest to, że value jest inne dla każdego przypadku więc należałoby szukać za każdym razem ostatniego elementu na liście.
Jeśli jest zaznaczona inna opcja - to ramka jest standardowa.

Nie mogę tego rozgryźć :/

edytowany 3x, ostatnio: shl
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Rzeszów
1
Kopiuj
var $select = $("#group_1");
if ($select.find('>option:last-child:selected').length) {
  $select.addClass("ramka");
}
else {
  $select.removeClass("ramka");
}
Kopiuj
#group_1.ramka {
  border: 1px solid red;
}

SH
  • Rejestracja:około 13 lat
  • Ostatnio:ponad 3 lata
  • Postów:152
0

@dzek69 dziękuję za pomoc. Działa wszystko idealnie. Jeszcze dodałem aby przy każdej zmianie option sprawdzał jaka jest wartość poprzez change.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.