我有一个函数来检查类.sitem
的元素,如果它们中的任何一个有空值,它应该返回,否则代码应该继续。
if($(".sitem").each(function(ss, element) {
if($(this).val()=="")
{
alertify.error("item name can't be left blank");
return true;
}
return false;
}))
{
return;
}
//go on with your code
当值为空时,该函数会起作用,它会提醒我,并返回false,当项有值时问题,它不会继续代码,任何提示?
答案 0 :(得分:1)
return true // continue loop
return false // breaks loop
所以,
var is_valid = true;
$(".sitem").each(function(ss, element) {
if($(this).val()=="") {
alertify.error("item name can't be left blank");
is_valid = false;
return false;
}
});
if(!is_valid) {
return;
}
答案 1 :(得分:1)
问题是.each()
返回一个jQuery对象,它始终是真实的(不管从每个处理程序返回的值....如果你返回false它只是终止元素集的进一步迭代)< / p>
一种解决方案是使用有效的状态变量,如
var valid = true;
$(".sitem").each(function (ss, element) {
if ($(this).val() == "") {
alertify.error("item name can't be left blank");
valid = false;
return true;
}
return false;
})
if (!valid) {
return;
}