如何在此jquery循环之外访问此变量?
问题描述:
我有一个简单的jQuery循环,通过我的表单会和如何在此jquery循环之外访问此变量?
- 看是否有没空字段。
- 如果有任何空,与 '空' 类标记它们和
- 然后创建一个 '错误' 变量
基本上是:
// check all the inputs have a value...
$('input').each(function() {
if($(this).val() == '') {
$(this).addClass('empty');
var error = 1;
}
});
这个工作的魅力。然而,随着我的代码继续,我似乎无法访问该'错误'变量...好像它被锁定在每个循环内。在.each()循环后面紧跟着下面的代码,即使我知道条件1和条件2正在工作,我也不会触发my_error_function()。
if(error == 1) {
my_error_function();
} else {
my_non_error_function();
}
如何访问此变量,以便我可以在代码的其他位置使用其结果?
答
定义你的函数/循环
var error = 0;
$('input').each(function() {
if($(this).val() == '') {
$(this).addClass('empty');
error = 1;
}
});
+0
它工作!非常感谢。 – willdanceforfun 2011-04-05 08:46:58
+0
雅:)谢谢!我不得不等待一段时间 – willdanceforfun 2011-04-05 09:16:08
答
定义范围之外的变量或指定给一个全局变量之外的错误变量。名称空间变量也可以工作(例如,foo.bar.error = 1)
$('input').each(function() {
if($(this).val() == '') {
$(this).addClass('empty');
window.error = 1;
}
});
...
alert(error);
在循环之外声明它。 – BoltClock 2011-04-05 08:44:41