如何从Jquery中的嵌套函数调用变量

如何从Jquery中的嵌套函数调用变量,jquery,Jquery,我想在方法外部调用时获取chkArray变量的值 当我从方法外部调用getValues().total时,我收到一条错误消息,因为无法读取未定义的属性total function getValues(){ chkArray = new Array() ; $("input[type=checkbox]:checked").each(function fire() { var total = chkArray.push($(this).val()); console.log(chkArray)

我想在方法外部调用时获取chkArray变量的值

当我从方法外部调用getValues().total时,我收到一条错误消息,因为无法读取未定义的属性total

function getValues(){
chkArray = new Array() ;
$("input[type=checkbox]:checked").each(function fire() {
 var total = chkArray.push($(this).val());
console.log(chkArray)    
});
};
请帮助我们如何在方法之外调用该变量

使用以下方法:

  function getValues(){
     var total = new Array() ;
     $("input[type=checkbox]:checked").each(function fire() {
       total.push($(this).val());
      });
   return total;
  };
调用函数

var total= getValues();
console.log(total);
函数getValues(){
var total=新数组();
$(“输入[类型=复选框]:选中”)。每个(函数(){
total.push($(this.val());
});
返回总数;
};
函数doSomething(){
var k=getValues();
控制台日志(k);
}

1.

2
3
4
5

我对
的位置感到困惑。
总计
total
未在任何地方定义。我已编辑,请再次检查,因为我得到的是一个空数组。我想得到fire()中存在的total的值你得到的是空数组,因为你没有选中任何复选框,不是吗?那么
fire()
做什么呢
.each(function(){
会做同样的工作。@StanimirStoyanov我在fire()中给了console.log(total)它返回带有元素的数组,但是返回的total给出了空数组,即使复选框被选中了。非常感谢您的示例。我能够在console.log(total)中打印[“1”、“2”、“3”]但是在我编写代码var k=getValues()和print console.log(k)时选中文本框之后,我得到了一个空数组([])签入文本框后,我需要k中的值。我刚刚更新了我的答案。请确保选中了复选框-我可以想象的唯一情况是,如果没有选中复选框,将得到一个空数组。