Вам не нужно делать цикл, чтобы определить, установлен ли флажок.Селектор :checked
отфильтровывает все, что не проверено.Затем вы можете использовать $.length
, чтобы получить количество проверенных входов.
$("#form").submit(function(e) {
if(!$('input[type=checkbox]:checked').length) {
alert("Please select at least one to upgrade.");
//stop the form from submitting
return false;
}
return true;
});
Кроме того, используя ваш подход, небольшое изменение должно сделать эту работу
$("#form").submit(function(e) {
$('input[type=checkbox]').each(function () {
if($(this).is(':checked')){
return true;
}
});
alert("Please select at least one to upgrade.");
return false;
});
Я думаю, вы можете просто пропустить $()
вокруг this