2012-08-23 166 views
0

所有複選框我有3個checkoxes和一個提交按鈕jQuery驗證上提交

<form id="form1" action="/controller/action" method="post"> 
      <div class="checkbox"><input type="checkbox" name="box1" class="cBox" /><label for="box1" class="label">Box1</label></div> 
      <div class="checkbox"><input type="checkbox" name="Box2" class="cBox" /><label for="Box2" class="label">Box2</label></div> 
      <div class="checkbox"><input type="checkbox" name="Box3" class="cBox" /><label for="Box3" class="label">Box3</label></div> 
      <input type="submit" value="Submit" /> 
</form> 

我有以下的jQuery它提醒當沒有複選框被選中:

$(document).ready(function() { 
    $('#form1').submit(function() { 
     if ($('input:checkbox', this).is(':checked')) { 
      // everything's fine... 
     } else { 
      alert('Please tick all checkboxes!'); 
      return false; 
     } 
    }); 
}); 

使用jQuery我需要:

如果所有的複選框被選中,一旦點擊提交按鈕警告:「所有的複選框被選中。」

如果所有複選框都沒有被點擊,則提示:「請勾選所有複選框!」提交。

感謝

回答

3

可以檢查複選框的數量相同數量的檢查者的數量:

$(document).ready(function() { 
    $('#form1').submit(function() { 
     if ($('input:checkbox', this).length == $('input:checked', this).length) { 
      // everything's fine... 
     } else { 
      alert('Please tick all checkboxes!'); 
      return false; 
     } 
    }); 
}); 
+0

感謝隊友,傳奇! – avidaicu