我有一个简单的jquery循环遍历我的表单和
基本上:
// check all the inputs have a value...
$('input').each(function() {
if($(this).val() == '') {
$(this).addClass('empty');
var error = 1;
}
});
这很有魅力。但是,随着我的代码继续,我似乎无法访问该“错误”变量......好像它被锁定在每个循环中。以下代码就在.each()循环之后,我永远不会触发my_error_function(),即使我知道标准1和2正在运行。
if(error == 1) {
my_error_function();
} else {
my_non_error_function();
}
如何访问此变量以便我可以在代码的其他位置使用其结果?
答案 0 :(得分:12)
在函数/循环
之外定义错误变量var error = 0;
$('input').each(function() {
if($(this).val() == '') {
$(this).addClass('empty');
error = 1;
}
});
答案 1 :(得分:2)
在范围外定义变量或将其分配给全局变量。名称间隔变量也起作用(例如foo.bar.error = 1)
$('input').each(function() {
if($(this).val() == '') {
$(this).addClass('empty');
window.error = 1;
}
});
...
alert(error);