Cześć wszystkim. Potrzebuję pomysłu, jak najbardziej sensownie napisać w js/jq algorytm, który sprawdzałby, które checkboxy są zaznaczone.Mam takie ułożenie divów i checkboxów jak na rysunku wyżej (nie wstawiam kodu html i css, bo jest to nieistotne). Chciałbym, aby po kliknięciu checkboxa1 pojawiał się tylko zielony div. W przypadku zaznaczenia jakiegokolwiek checboxa2 pojawiał się niebieski i pomarańczowy. W przypadku zaznaczenia jakiegokolwiek checboxa3, checboxa4 lub żadnego, nie pojawiał się ani jeden.
Moja propozycja to nadanie funkcji onChange dla diva w którym są wszystkie checkboxy. W przypadku zmiany jakiegokolwiek z nich, w pętli zostałyby sprawdzane wszystkie checkboxy i w przypadku, gdy np. chociaż jeden posiadający data-value="1" ma wartość true to wtedy pojawia się tylko zielony div. (Wykorzystałbym cztery zmienne bool, które miałaby na początku wartość false, a gdyby pętla napotkała na checkbox z wartością true, to odpowiednia zmienna bool też przyjmowałaby wartość true. Po wyjściu z pętli, byłyby ify sprawdzające, który div ma się wyświetlić). Jest to jakiś pomysł, ale według mnie zrobiony na siłę. Czy da się to jakoś usprawnić?
Dodatkowe pytanie: czy rozróżnianie checkboxów za pomocą nadawania im różnych data-value jest dobrą praktyką? Chodzi mi o taką sytuację: mamy samochód, motor, jabłko i banana. Dwóm pierwszym opcją nadaję data-value="1", ponieważ chcę, aby po ich zaznaczeniu pojawiły się dodatkowe divy dotyczące pojazdów, a dla jabłka i banana daję data-value="2", ponieważ chcę aby dla nich pojawiły się inne divy dotyczące owoców. Czy data-value w znaczniku to dobre narzędzie do takiego rozróżniania?