Javascript: получить все отмеченные флажки - PullRequest
2 голосов
/ 08 апреля 2011

У меня есть форма и я хочу узнать, сколько флажков было проверено?

Мой идентификатор флажка будет таким же, event_id, а имя будет примерно таким: data[Noncompetitor][is_black][4]

Как я могу?

Дайте мне знать как можно скорее.

Спасибо!

Ответы [ 2 ]

5 голосов
/ 08 апреля 2011

Если у вас есть ссылка на элемент формы , можно легко просмотреть элементы:

function countChecked(form) {
    var index, element;
    for (index = 0; index < form.elements.length; ++index) {
        element = form.elements[index];
        // You may want to check `element.name` here as well
        if (element.type.toUpperCase() == "CHECKBOX" && element.checked) {
            ++checked;
        }
    }
    return checked;
}

Существует множество способов получить ссылку на элемент формы. Например, дайте форме id и используйте document.getElementById.

Так что, если id вашей формы, например, "foo", то:

var checkedCount = countChecked(document.getElementById('foo'));

Не по теме : многие из этих вещей можно упростить лот , используя такие библиотеки, как jQuery , Prototype , YUI , Закрытие или любой из нескольких других для сглаживания различий в браузере, предоставления вам богатых способов перехода к элементам с помощью селекторов CSS и т. Д.

Например, вышеприведенное можно написать с помощью jQuery, например так:

var checkedCount = $("#foo :checkbox:checked").length;

... который говорит, 'найти все отмеченные флажки, которые являются потомками элемента с id "foo"' , а затем использует длину полученного объекта jQuery (объекты jQuery являются массивом -как).

0 голосов
/ 08 апреля 2011

Вы можете использовать приведенный ниже код, чтобы установить номер флажка.

<html>
    <head>
        <script type="text/javascript">
        var index = 0;
        function check()
        {
            index++;
            document.getElementById('text').innerHTML = "You have Checked \t"+index+"\t checkboxes";
        }
        </script>
    </head>
    <body>
    <input type="checkbox" onclick="check()"/>
    <input type="checkbox" onclick="check()"/>
    <input type="checkbox" onclick="check()"/>
    <input type="checkbox" onclick="check()"/>
    <input type="checkbox" onclick="check()"/>
    <input type="checkbox" onclick="check()"/>
    <div id="text"></div>
    </body>
    </html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...