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


这是我的代码,我试图将checkbox的值放入数组中,并通过ajax返回到另一个页面。但是,当我将该数组打印到click方法的作用域中时,它可以正常工作,但在它之外,它显示空白数组。
当我尝试console.log(tmcartepo)时,它显示空白数组

预先感谢

最佳答案

您可能需要在click方法范围之外(全局)声明变量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);

09-04 23:45