Задать вопрос
bahridinovf
@bahridinovf
Не кто

Как сделать универсальный переключатель?

Привет Всем!

Есть вот такой переключатель кнопки. Да нет

$(".quest__answers button").on("click", function() {
        var btnBoy = $('.quest__answers button.yes');
        var btnGirl = $('.quest__answers button.not');
        if ($(btnBoy).hasClass('active')) {
            $(btnBoy).removeClass('active');
            $(btnGirl).addClass('active');
            return;
        } else if ($(btnGirl).hasClass('active')) {
            $(btnGirl).removeClass('active');
            $(btnBoy).addClass('active');
            return;
        }
        $(this).addClass('active');
    });


и вот html

<div class="quest__answers">
							<button class="yes">Да</button> 
							<button class="not">Нет</button>
						</div><!-- .quest__answers -->


Все нормально работает но когда дублировал html код то есть один скрипт на 2 html варианта кнопки и работает не корректно. То есть в одном выберешь а второй выберется на основе первого.

Как можно адаптироваь jquery код что бы она работала универсально? например для несколько кнопок?

Большое спасибо.
  • Вопрос задан
  • 146 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 3
bootd
@bootd
Гугли и ты откроешь врата знаний!
https://jsfiddle.net/aao8gjth/

Задача переключателей решается стилизованными input radio + label
Ответ написан
@LiguidCool
var btnBoy = $('.quest__answers button.yes');
var btnGirl = $('.quest__answers button.not');

Ну так вы их ищите по классу, т.е. всех подходящих.
Используйте this.
Ответ написан
Комментировать
sfi0zy
@sfi0zy Куратор тега JavaScript
Creative frontend developer
Кажется вы пытаетесь изобрести radio button (codepen).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы