Подсчет количества элементов после ответа пользователя

0

В моем примере каждый div с идентификатором содержит элементы управления для ответа пользователя (радиогруппа). Я пытаюсь подсчитать количество DIV, в которых пользователь предоставил ответ и подал результат в текстовое поле [name = "REP"]. Либо "Да", либо "Нет" приемлемо для ответа на подсчет.

Структура HTML:

<div class="figures">
    <div id="Template_Questions">
        <label for="number1">Number of ALL items:</label>
        <input class="counter" type="number" name="ALL" id="number1">
    </div>
    <div id="Responded_Questions">
        <label for="number2">Number of RESPONDED items:</label>
        <input class="counter" type="number" name="RESP" id="number2">
    </div>
</div>

<div class="sections"><p>Sections</p>

    <div class="A" id="Q01">
        <h2>Section 1</h2>
        <h5>4201</h5>
            <div class="Response">
                <label><input type="radio" name="Radio1" value="Y" id="R1Y">Yes</label>
                <label><input type="radio" name="Radio1" value="N" id="R1N">No</label>
            </div>
            <div class="Observation">
                <label for="Obs1">Notes:</label><br>
                <textarea name="observation" id="Obs1"></textarea>
            </div>
    </div>

    <div class="B" id="Q02">
        <h2>Section 2</h2>
        <h5>4202</h5>
            <div class="Response">
            <label><input type="radio" name="Radio2" value="Y" id="R2Y">Yes</label>
            <label><input type="radio" name="Radio2" value="N" id="R2N">No</label>
            </div>
            <div class="Observation">
                <label for="Obs2">Notes:</label><br>
                <textarea name="observation" id="Obs2"></textarea>
            </div>
    </div>

    <div class="A" id="Q03">
        <h2>Section 3</h2>
        <h5>4203</h5>
            <div class="Response">
                <label><input type="radio" name="Radio3" value="Y" id="R3Y">Yes</label>
                <label><input type="radio" name="Radio3" value="N" id="R3N">No</label>
            </div>
            <div class="Observation">
                <label for="Obs3">Notes:</label><br>
                <textarea name="observation" id="Obs3"></textarea>
            </div>
    </div>

    <div class="B" id="Q04">
        <h2>Section 4</h2>
        <h5>4204</h5>
            <div class="Response">
                <label><input type="radio" name="Radio4" value="Y" id="R4Y">Yes</label>
                <label><input type="radio" name="Radio4" value="N" id="R4N">No</label>
            </div>
            <div class="Observation">
                <label for="Obs4">Notes:</label><br>
                <textarea name="observation" id="Obs4"></textarea>
            </div>

    </div>
</div>

Я подсчитал общее количество DIV, содержащих элементы управления ответами:

    jQuery(function ($) {

    $(function () {
    var counter = $("[id^=Q]").filter(function ()
    {
        return this.id.match(/Q\d+/);
    }).length;

    $("input[name=ALL]").val(counter);
})});

Я думаю, что я также могу получить количество проверенных элементов управления, но на самом деле нужно количество DIV. С другой стороны, если ЛЮБОЙ из радио btns (или Да или Нет) = 1, то что-то вроде этого должно сделать трюк, а затем просто передать номер в текстовое поле?

$("#Div input:checkbox:checked").length

Заранее спасибо.

Теги:
counting

1 ответ

1
Лучший ответ

так как только один вход может быть проверен в каждом div, вы можете просто использовать что-то вроде этого

$('input[type="radio"]:checked').length

UPDATE: счетчик автоматического обновления в текстовом поле с использованием события изменения ввода

$('input[type="radio"]').change(function(){
     $('#textfield-id').val( $('input[type="radio"]:checked').length );
});
  • 1
    конечно! Фактически, любой ответ - это ОДИН ответ, поэтому мы подсчитываем количество ответов, а не количество DIV))))))) СПАСИБО!
  • 0
    как сделать так, чтобы номер в текстовом поле автоматически обновлялся? Я имею в виду, я передаю длину в текстовое поле, но мне нужно F5, чтобы увидеть результат после нажатия радио BTN.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню