Рассмотрим следующее.
function check_term() {
var term = $("#term");
if (term.prop("checked")) {
$("#term_error_message").hide();
} else {
$("#term_error_message").html("Please accept our terms and conditions");
$("#term_error_message").show();
}
return term.prop("checked");
}
var error_term = false;
$("#term_error_message").hide()
$("#term").blur(function() {
error_term = check_term();
});
Назначение значения #term
даст вам строку, а не объект. Итак, term.checked
будет undefined
. Вы хотите, чтобы проверить свойство флажка, чтобы увидеть, если он установлен или нет. .prop()
, поскольку получатель вернет true
или false
для проверенного свойства.
Вам также необходимо использовать правильный селектор в вашем jQuery. Я думаю, вы также имеете в виду обратный вызов blur
против focusout
.
Вы также можете использовать .is()
, например, так.
function check_term() {
if ($("#term").is(":checked")) {
$("#term_error_message").hide();
} else {
$("#term_error_message").html("Please accept our terms and conditions");
$("#term_error_message").show();
}
return $("#term").is(":checked");
}
Это также собирается вернуть true
или false
.