отображать список выбранных флажков, используя JavaScript - PullRequest
0 голосов
/ 22 мая 2018

У меня есть набор флажков 7 дней с общим названием sessionDays.Я посчитал отмеченные флажки, используя этот код:

var totalDays = document.querySelectorAll('.sessionDays input[type="checkbox"]:checked').length;

Теперь мне нужно отобразить список выбранных флажков в HTML с Javascript.Не JQuery.Я изучил много вопросов, но не нашел решения.

Это мой HTML:

<div class="days sessionDays">
                    <label>Select Session Days</label>
                    <p class="text-muted">Select the specific days you want to come for training.</p>
                    <div class="form-check">
                      <input class="form-check-input weekend" type="checkbox" value="1" id="sessionSunday" name="sessionDays" onFocus="startCalc();" onBlur="stopCalc();" onclick="resetMorning();">
                      <label class="form-check-label" for="sessionSunday">
                        Sunday
                      </label>
                    </div>
                    <div class="form-check">
                      <input class="form-check-input weekday" type="checkbox" value="1" id="sessionMonday" name="sessionDays" onFocus="startCalc();" onBlur="stopCalc();" onclick="resetEvening();">
                      <label class="form-check-label" for="sessionMonday">
                        Monday
                      </label>
                    </div>
                    <div class="form-check">
                      <input class="form-check-input weekday" type="checkbox" value="1" id="sessionTuesday" name="sessionDays" onFocus="startCalc();" onBlur="stopCalc();" onclick="resetEvening();">
                      <label class="form-check-label" for="sessionTuesday">
                        Tuesday
                      </label>
                    </div>
                    <div class="form-check">
                      <input class="form-check-input weekday" type="checkbox" value="1" id="sessionWednesday" name="sessionDays" onFocus="startCalc();" onBlur="stopCalc();" onclick="resetEvening();">
                      <label class="form-check-label" for="sessionWednesday">
                        Wednesday
                      </label>
                    </div>
                    <div class="form-check">
                      <input class="form-check-input weekday" type="checkbox" value="1" id="sessionThursday" name="sessionDays" onFocus="startCalc();" onBlur="stopCalc();" onclick="resetEvening();">
                      <label class="form-check-label" for="sessionThursday">
                        Thursday
                      </label>
                    </div>
                    <div class="form-check">
                      <input class="form-check-input weekday" type="checkbox" value="1" id="sessionFriday" name="sessionDays" onFocus="startCalc();" onBlur="stopCalc();" onclick="resetEvening();">
                      <label class="form-check-label" for="sessionFriday">
                        Friday
                      </label>
                    </div>
                    <div class="form-check">
                      <input class="form-check-input weekend" type="checkbox" value="1" id="sessionSaturday" name="sessionDays" onFocus="startCalc();" onBlur="stopCalc();" onclick="resetMorning();">
                      <label class="form-check-label" for="sessionSaturday">
                        Saturday
                      </label>
                    </div>
                  </div>

Вот JSFiddle: http://jsfiddle.net/humanware/rjfjp2mL/

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

var selectedDays = document.querySelectorAll ('. SessionDays input [type = "checkbox"]: флажок ");var totalDays = selectedDays.length;

Array.from(selectedDays).(function(item, index){
// code to display every checkbox (item)
});
0 голосов
/ 22 мая 2018

Вы почти у цели.Ваш запрос querySelectorAll вернет массив проверенных элементов управления.Попробуйте этот код:

<html>
<head>
    <title>Random</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>

    <div class="days sessionDays">
        <label>Select Session Days</label>
        <p class="text-muted">Select the specific days you want to come for training.</p>
        <div class="form-check">
            <input class="form-check-input weekend" type="checkbox" value="1" id="sessionSunday" name="sessionDays"   onclick="whatsChecked();">
            <label class="form-check-label" for="sessionSunday">
                Sunday
            </label>
        </div>
        <div class="form-check">
            <input class="form-check-input weekday" type="checkbox" value="1" id="sessionMonday" name="sessionDays"  onclick="whatsChecked();">
            <label class="form-check-label" for="sessionMonday">
                Monday
            </label>
        </div>
        <div class="form-check">
            <input class="form-check-input weekday" type="checkbox" value="1" id="sessionTuesday" name="sessionDays"  onclick="whatsChecked();">
            <label class="form-check-label" for="sessionTuesday">
                Tuesday
            </label>
        </div>
        <div class="form-check">
            <input class="form-check-input weekday" type="checkbox" value="1" id="sessionWednesday" name="sessionDays"  onclick="whatsChecked();">
            <label class="form-check-label" for="sessionWednesday">
                Wednesday
            </label>
        </div>
        <div class="form-check">
            <input class="form-check-input weekday" type="checkbox" value="1" id="sessionThursday" name="sessionDays"  onclick="whatsChecked();">
            <label class="form-check-label" for="sessionThursday">
                Thursday
            </label>
        </div>
        <div class="form-check">
            <input class="form-check-input weekday" type="checkbox" value="1" id="sessionFriday" name="sessionDays"  onclick="whatsChecked();">
            <label class="form-check-label" for="sessionFriday">
                Friday
            </label>
        </div>
        <div class="form-check">
            <input class="form-check-input weekend" type="checkbox" value="1" id="sessionSaturday" name="sessionDays"  onclick="whatsChecked();">
            <label class="form-check-label" for="sessionSaturday">
                Saturday
            </label>
        </div>
    </div>
    <script type="text/javascript">
        function whatsChecked() {
            var foo = [];
            var things = document.querySelectorAll('.sessionDays input[type="checkbox"]:checked');
            for (var i = 0; i < things.length; i++) {
                foo[i] = things[i].id;
            }
            for (var i = 0; i < things.length; i++) {
                console.log(things[i].id);
            }
        }

    </script>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...