Использование removeClass для настройки css на div не работает - PullRequest
0 голосов
/ 18 февраля 2020

Я передаю значение из dropdwon, чтобы затем показать и скрыть отдельный div, а также добавить / удалить класс к тому же элементу. Показать / скрыть работает нормально, но добавлен новый класс (мой), но не удален.

Кто-нибудь знает, как удалить класс, когда div скрыт, используя приведенный ниже код?

$(this).find("option:selected").each(function(){
            var optionValue = $(this).attr("value");
            if(optionValue){
                $(".details-tcs").not("." + optionValue).hide();
                $("." + optionValue).show();
                $("." + optionValue).addClass("mine");

            } else{
                $(".details-tcs").hide();
                $(".details-tcs").removeClass("mine");
            }
        });

Вот то, что я получаю, когда меняю раскрывающийся список.

<div class="details-tcs SC mine" style="display: none;">
stuff
</div>
<div class="details-tcs AI mine" style="display: block;">
stuff
</div>
<div class="details-tcs BB mine" style="display: none;">
stuff
</div>

Он оставляет «мой», показывая один раз добавленный.

Значение раскрывающегося меню либо S C, либо AI или BB от -

jQuery("select").change(function()

1 Ответ

0 голосов
/ 18 февраля 2020

Атрибут value не обновляется для элемента при изменении его значения; оно служит только начальным значением . Это означает, что если ваши элементы select изначально пусты, $(this).attr("value"); возвращает вас "" (пустая строка). При приведении к логическому значению, как в if (optionValue), пустая строка оценивается как false. Если имеет начальное значение, этот атрибут никогда не изменится, поэтому $(this).attr("value"); всегда будет возвращать непустую строку, которая при приведении к логическому значению, как в if (optionValue), оценивается как true.

Возможно, вы ищете свойство value вместо:

var optionValue = $(this).prop("value");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...