Javascript Максимальное количество проверенных флажок типа ввода - PullRequest
0 голосов
/ 20 июля 2010

Использование asp.net для создания нескольких флажков. Ищите решение javascript, которое будет проверять любой флажок, начинающийся с имени pdf *, чтобы увидеть, проверено ли больше 5, а затем предупредить об этом числе.

Существуют и другие флажки, на которых я не хочу, чтобы они запускались, которые не используют имя pdf *.

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

вот пример моих флажков:

<td><input type="checkbox" name="pdf14" value="2250"></td>

<td><input type="checkbox" name="pdf15" value="2251"></td>

<td><input type="checkbox" name="pdf16" value="2252"></td>

<td><input type="checkbox" name="print" value="2253"></td> 

<< </p>

1 Ответ

1 голос
/ 20 июля 2010
var inputs = document.getElementsByTagName("input");
var numSelected = 0;
var current;

for (var i=inputs.length;i--;) {
    current = inputs[i];

    if (current.type.toLowerCase() == "checkbox" && current.checked && current.name.indexOf("pdf") == 0) {
        current++;
    };
};

if (current > 5) {
    alert("You've got " + current + " selected! :(");
}

Если бы вы использовали jQuery, это было бы так же просто, как

var selectedPdfCheckboxes = $('input:checkbox[name^=pdf]');

if (selectedPdfCheckboxes.length > 5) {
    alert("You've got " + selectedPdfCheckboxes.length + " selected! :(");
}

Edit:

Селектор jQuery, который я использовал (^=), читается как «начать с», поэтому * эквивалент не требуется.

Код jQuery будет выполняться везде, где он размещен, однако он должен быть выполнен не раньше, чем document.ready(), чтобы гарантировать, что выбранные вами элементы присутствуют в DOM. Если вы поместите его в document.ready, он сработает, как только будет запущено событие готовы к документу. Возможно, вы захотите поместить код в обработчик события для другого события, например, для отправки формы?

$(document).ready(function () {
    $("#aForm").bind('submit', function (e) {
        var selectedPdfCheckboxes = $('input:checkbox[name^=pdf]');

        if (selectedPdfCheckboxes.length > 5) {
            alert("You've got " + selectedPdfCheckboxes.length + " selected! :(");

            e.preventDefault();        
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...