проверить, установлен ли один из двух флажков для каждой группы в форме отправки?

0

У меня есть 8 флажков, разделенных на группы 2. В первой группе у меня есть один флажок с меткой checkbox1 и один помеченный checkbox2. Я хочу, чтобы JavaScript-код позволял мне проверять форму отправки, проверено ли хотя бы одно из двух этих флажков для каждой группы.

Я не хочу, чтобы скрипт просто проверял, проверял ли вы только один флажок, поскольку это будет означать, что пользователю не нужно будет проверять хотя бы один из других флажков в другой группе флажков.

Кто-нибудь знает, как я могу это сделать, и я иду по правильным линиям?

$('#form_check').on('submit', function (e) {
  if ($("input[id=box1]:checked").length === 0) {
    if ($("input[id=box2]:checked").length === 1) {

    } else {
      if ($("input[id=box2]:checked").length === 0) {
        if ($("input[id=box1]:checked").length === 1) {    
          e.preventDefault();
          alert('no way you submit it without checking a box');
          return false;
        }
      }
    }
  }
});
  • 0
    Итак, если установлены все флажки, я имею в виду все 8 тогда он должен вернуть true?
  • 0
    нет все 8 не могут быть спящими, это флажки да / нет, можно выбрать только один на группу
Показать ещё 1 комментарий
Теги:

1 ответ

0

Делай это так:

$("button").click(function(){
    var length = 0;  // initial length 

    $(".group").each(function(){ 
        // if box is checked, add 1, else 0
        length += ($(this).find("input:checked").length === 1);
    });

    // if there are as many box checked as many groups, i.e. one checked box per group
    if(length === $(".group").length){
        alert("y");
    }else{
        alert("no");
    }
});

DEMO

Ещё вопросы

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