当从jquery的点击事件中的每个循环创建的数组到它之外时,它显示空白数组

It showing blank array when array created from each loop in click event of jquery to outside of it

本文关键字:数组 空白 显示 循环 jquery 事件 当从 创建      更新时间:2023-09-26
tmcartepo = [];
$('input[name^="tm_option_"]').click(function () {
if ($(this).is(':checked')) {
    $('input[name^="tm_option_"]:checked').each(function(){
          tmcartepo.push($(this).val());
          console.log(tmcartepo);
    });
}

}(;

console.log(tmcartepo);

这是我的代码,我正在尝试将复选框的值获取到数组中并通过 ajax 将其返回到另一个页面。但是当我将该数组打印到单击方法的范围时,它工作正常,但在它之外,它显示空白数组。当我尝试控制台.log(tmcartepo(时,它显示空白数组

提前致谢

您可能需要在单击方法的范围之外声明变量tmcartepo(全局(。

var tmcartepo;
$('input[name^="tm_option_"]').click(function () {
    if ($(this).is(':checked')) {
        $('input[name^="tm_option_"]:checked').each(function(){
          tmcartepo.push($(this).val());
        });
        console.log(tmcartepo);
        alert(tmcartepo);
    }
});
console.log(tmcartepo);
// declare variable in global scope 
var tmcartepo=[];
$('input[name^="tm_option_"]').click(function () {
if ($(this).is(':checked')) {
    $('input[name^="tm_option_"]:checked').each(function(){
          tmcartepo.push($(this).val());
    });
   console.log(tmcartepo);
   alert(tmcartepo);
}  });