if не работает, потому что $ ("input [name = Participance1]: флажок") возвращает объект jquery, не смотря ни на что. Если он не отмечен, он вернет пустой объект jquery. Метод is () вернет true или false:
$("#list").submit(function() {
console.log("submitted");
if ($("input[name=attendance1]").is(":checked")) {
alert('Please select attendance1');
if ($("input[name=attendance2]").is(":checked")) {
alert('Please select attendance2');
return false;
}
});
РЕДАКТИРОВАТЬ: (если логика оператора была неправильной) (и снова отредактирована для дальнейшего упрощения)
$("#list").submit(function() {
console.log("submitted");
return 0 == $("input[name^=attendance][value=Yes]").not(":checked").each(function(){
alert('Please select ' + $(this).attr('name'));
}).length;
});