如何在此jquery循环之外访问此变量?

问题描述:

我有一个简单的jQuery循环,通过我的表单会和如何在此jquery循环之外访问此变量?

  1. 看是否有没空字段。
  2. 如果有任何空,与 '空' 类标记它们和
  3. 然后创建一个 '错误' 变量

基本上是:

// 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(); 

} 

如何访问此变量,以便我可以在代码的其他位置使用其结果?

+2

在循环之外声明它。 – BoltClock 2011-04-05 08:44:41

定义你的函数/循环

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);