Вы используете селекторы, которые не возвращают логические значения, что вам нужно при написании условия if
.Вот что вы можете сделать:
$('button').on('click',function() {
if(!$(".first").is(":checked") && !$(".second").is(":checked")) {
$('.error').text('You must select atleast one!').show();
} else {
$('.error').hide();
}
});
или, если вы предпочитаете и считаете, что это может быть более читабельным, вы можете инвертировать условие:
$('button').on('click',function() {
if($(".first").is(":checked") || $(".second").is(":checked")) {
$('.error').hide();
} else {
$('.error').text('You must select atleast one!').show();
}
});
Также обратите внимание, что вам нужно .show()
сообщение об ошибке в первом случае, как вы прячете его во втором.
А вот live демо .