В дополнение к предоставленному вам решению, вот несколько объяснений:
Ваши проблемы таковы:
1) Появляется это утверждение
$(this).addClass('-chosen');
до вашей оценки. Таким образом, класс добавляется до того, как условие может быть оценено.
2) Ваше условие работает, но оно проблематично c:
selected_num == "3"
Во-первых, вы хотите предотвратить Кроме того, если выбрано более 2: Если случайно выбрано 4, это позволит добавить 5-е и c.
Во-вторых, вы сравниваете selected_num, являющееся целым числом, со строкой. Эта строка преобразуется в целое число с помощью движка, поэтому это не имеет большого значения, но преобразование такого типа не следует делать, если оно не является преднамеренным и полезным.
3) Как вы видели в решении Евгения Горбункова , вы должны использовать «toggleClass», чтобы добавить или удалить класс в более коротком фрагменте.