Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сделать условие, если у всех вхождений флажок стоит checked?

Константин Ефименко Гуру (3721), закрыт 4 года назад
$('.btn').on('click', function() {
$('.t-inp').each(function(idx, obj) {
var val = $(obj).val().trim();
if (val.length === 0) {
$(obj).attr('checked', false);
} else if (!val.match(/^(0[1-9]|[12][0-9]|3[01])[\.](0[1-9]|1[012])[\.](19[7-9]\d|2\d\d\d)$/)) {
$(obj).attr('checked', false);
} else {
$(obj).attr('checked', true);
///Выполняются вложенные циклы
///Вторая кнопка становится активной
}
});
});

$(obj) - выполняет действия для каждого вхождения.

Первое условие выполняется для каждого вхождения, при этом else, срабатывает при выполнении проверки для "всех" вхождений (условие не выполняется, если у "всех" вхождений более 1 символа, кроме пробелов).

Второе условие выполняется для каждого вхождения, при этом else, срабатывает при выполнении лишь "одного" из вхождений.

Последнее условие (else) выполняется, если хотя бы одно вхождение выполняет оба условия.
―――――――――――――――――――――――――――――――――――――――――――
Необходимо при помощи флажков проверить, что все вхождения являются checked="checked". Исходя из этого, проверять второе и последнее (else) условие для всех вхождений, таким образом, чтобы else выполнялось только тогда, когда "все" вхождения будут удовлетворять первым двум условиям.
Дополнен 4 года назад
Больше не нужно, мне удалось достичь такого результата !!!
Лучший ответ
Senior Backend Developer Оракул (77657) 4 года назад
Не знаю как ты сделал, но самый простой вариант:

if ($('input.yourcalss:checked).length === $('input.yourcalss').length) {}

надеюсь идея понятна
Константин ЕфименкоГуру (3721) 4 года назад
Примерно так и сделал)))
Senior Backend Developer Оракул (77657) Молодец!)
Остальные ответы
Похожие вопросы