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 просмотров
Решения вопроса 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).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы