Ja to widzę w taki sposób: https://jsfiddle.net/Comandeer/9xhvkeoa/
Dodatkowe [id] nie są potrzebne, dzięki wykorzystaniu delegacji zdarzeń.
Całość opiera się na dodawaniu dodatkowych klas (.question_ok, .question_nok, .question_na) w chwili zmiany zaznaczenia inputów znajdujących się wewnątrz diva z klasą .question (oczywiście nazwy klas można podmienić). Dodawane klasy są konstruowane na zasadzie question_ + [value] zaznaczonego inputa.
Tym sposobem ten sam kod spokojnie obsłuży wszystkie inputy na stronie.