我有以下表格
<input class="required" id="name" value="some content"/>
<input class="required" id="address" value=""/>
<input class="required" id="lastname" value="some content"/>
以及以下jQuery函数。它包含一个.each()
循环来检查一些输入。检查失败时,该函数应该断开并返回false
。
function check() {
$('.required').each(function() {
var input = $(this);
console.log(input.attr('id'));
if (input.val() == null || input.val() == '') {
console.log('*** Failed ***');
return false;
}
});
console.log('Other code');
return true;
}
不幸的是,当我运行代码时,我看到以下输出:
name
address
*** Failed ***
Other code
.each()
循环在第一次失败后正确停止,但检查功能似乎继续运行。我怎样才能打破执行?这是jsFiddle。
答案 0 :(得分:2)
function check() {
var valid = true;
$('.required').each(function() {
var input = $(this);
console.log(input.attr('id'));
if (input.val() == null || input.val() == '') {
console.log('*** Failed ***');
valid = false;
return false;
}
});
if (!valid) return false;
console.log('Other code');
return true;
}
答案 1 :(得分:0)
return false
只会破坏$.each
语句,但函数会继续执行下一条指令(console.log('Other code');
)。