Показать сообщение отдельно
  #9 (permalink)  
Старый 03.09.2019, 15:56
Интересующийся
Отправить личное сообщение для eLDeR Посмотреть профиль Найти все сообщения от eLDeR
 
Регистрация: 28.05.2019
Сообщений: 23

Если галочку снимаю, то идет сброс на ноль.
Кнопка при условии
dis(btn, sum <= 100);
Активна

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">


</head>

<body>
<p id="wtotal">0</p>
<form action="https://">
<input type="checkbox" name="out[]" class="out"/>
<input type="text" name="w[]" class="form-control" required disabled value="0" />
<input type="checkbox" name="out[]" class="out"/>
<input type="text" name="w[]" class="form-control" required disabled value="0" />
<input type="checkbox" name="out[]" class="out"/>
<input type="text" name="w[]" class="form-control" required disabled value="0" />
<button type="submit" class="btn btn-primary btn-lg btn-block"  disabled>Выбрать</button>
</form>
<script>
var form = document.querySelector("form"),
    check = form.querySelectorAll(".out"),
    num = form.querySelectorAll(".form-control"),
    btn = form.querySelector(".btn"),
    p = document.querySelector("#wtotal"),
    dis = function(elem, removeDisabled) {
        removeDisabled ? elem.removeAttribute("disabled") : elem.setAttribute("disabled", "disabled")
    },
    total = function(event) {
        var sum = 0;
        check.forEach(function(inp, i) {
            var elem = num[i], checked = inp.checked;
            elem.value = checked ? +elem.value || 0 : 0;
            dis(elem, checked);
            sum += +elem.value
        });
        dis(btn, sum <= 100);
        p.innerHTML = sum;
        return sum <= 100
    };
form.addEventListener("change", total);
form.addEventListener("input", total);
form.addEventListener("submit", total);
</script>

</body>
</html>
Ответить с цитированием