Отображать нижнее сообщение при щелчке по флажку

Я пытаюсь отобразить нижнее сообщение о продукте в списке, когда кто-то нажимает на один или несколько флажков. Но я ничего не вижу внутри своей страницы.

Код:

 <style>
        .box{
            color: #eee;
            padding: 20px;
            display: none;
            margin-top: 20px;
        }
        .green{ background: #228B22; }
        label{ margin-right: 15px; }
    </style>

// loop to display the products with the checkbox

                while($Qlisting->fetch()) {
...
    echo '<label><input type = "checkbox" name = "colorCheckbox" value = "green"> green</label>';
...
                }

<div class = "green" style = "display:none;">Your message</div>
<script type = "text/javascript">
$(document).ready(function(){
    $('input[type = "checkbox"]').click(function(){
        var inputValue = $(this).attr("value");
        $("." + inputValue).toggle();
    });
});
</script>                

Какая актуальность в вашем коде <style>?

RiggsFolly 09.04.2019 15:07
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
65
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Toggle() используется для интервала между display:inline и display:none; В настоящее время вы пытаетесь переключить элементы без классов, соответствующих вашему селектору. ('.' + inputValue)

Создайте сообщение, которое вы хотите отобразить внутри div с тем же классом, что и соответствующее значение флажка.

Пример:

$(document).ready(function(){
    $('input[type = "checkbox"]').click(function(){
        var inputValue = $(this).attr("value");
        $("." + inputValue).toggle();
    });
});
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label><input type = "checkbox" name = "colorCheckbox" value = "green"> green</label>

<div class = "green" style = "display:none;">Your message</div>

Спасибо, это работает (внутри лоппа), но не так, как я ожидал. Извините, это моя ложь. Я обновил приведенный выше код, чтобы вы могли сделать то, что я пытаюсь сделать. Сообщение должно появиться один раз, если я нажму на флажок, а не внутри цикла.

Joe 09.04.2019 15:45

Другие вопросы по теме