在for循环中(即.each()
),如果满足条件,则需要将openvalue变量设置为1。然后,我需要在循环结束时访问此变量的值。无论哪种情况,当我将变量打印到控制台时,结果始终为0。我知道原因(变量范围),但是我想知道如何修改代码,以便在forloop中将openvalue设置为1。 ,该值将在forloop之外具有永久性。
var openvalue = 0; //sets default value
textinputs.each(function () {
var attr = $(this).attr('disabled');
if (attr == undefined || attr == false) {
var openvalue = 1; // if there is an input that is not disabled, set this value to 1
}
});
console.log(openvalue);
谢谢你的帮助!
最佳答案
在循环中,您声明一个具有相同名称的新变量。而是要为已声明的变量分配一个值。因此,“ openvalue = 1”而不是“ var openvalue = 1”:
var openvalue = 0; //sets default value
textinputs.each(function () {
var attr = $(this).attr('disabled');
if (attr == undefined || attr == false) {
openvalue = 1; // if there is an input that is not disabled, set this value to 1
}
});
console.log(openvalue);