任何人都可以帮助我处理这个 jquery 代码,我想在循环之外控制数组吗?

Posted

技术标签:

【中文标题】任何人都可以帮助我处理这个 jquery 代码,我想在循环之外控制数组吗?【英文标题】:can any one help me with this jquery code , i want to console the array out side the loop? 【发布时间】:2015-08-19 09:17:13 【问题描述】:
 $('#list').click(function()
                        var val = [];
                        $(':check box:checked').each(function(i)
                            val[i] = $(this).val();
                        );
                        console.log(val);

                    );

谁能帮我处理这个 jquery 代码,我想在循环外控制数组!我尝试了很多选择,但没有成功,请帮助我

我想在点击函数之外打印数组

【问题讨论】:

所以让val 成为一个全球... 这个$(':check box:checked')不应该是这个$(':checkbox:checked') 我想在循环外控制台 ' $('#list').click(function() var val = []; $(':check box:checked').each(函数(i) val[i] = $(this).val(); ); );控制台.log(val); ' 【参考方案1】:

正如我在评论中所说,您需要使 val 成为局部变量。您可以通过将其声明移到闭包之外来做到这一点。

val = [];
$('#list').click(function()
    val = [];
    $(':checkbox:checked').each(function(i)
        val[i] = $(this).val();
    );
    console.log(val); 
);

【讨论】:

@Nithishkumar 这是您在点击功能之外记录它的答案。 我想在循环和 jquery 之外进行控制台 所以你在循环和函数之外调用控制台。上面的代码将允许这样做。请记住,您需要以某种方式调用该方法,因为将其放在外面会在第一次命中代码时运行,它不会神奇地继续运行。【参考方案2】:

你可以使用地图功能

$("#list").click(function(event)
    event.preventDefault();
    var searchIDs = $("input:checkbox:checked").map(function()
      return $(this).val();
    ).get(); // <----
    console.log(searchIDs);
);

see this fiddle

http://jsfiddle.net/2fu5zy5x/

【讨论】:

我想在循环和 jquery 之外进行控制台

以上是关于任何人都可以帮助我处理这个 jquery 代码,我想在循环之外控制数组吗?的主要内容,如果未能解决你的问题,请参考以下文章

任何人都可以帮助 jquery 中的功能吗?

有没有办法在这个 R 代码中进行并行处理?

jquery动画页面打桩

jQuery验证后联系表单不会提交

如何使用jquery从url中抓取数据列表

使用单个组件进行故障处理的 2:1 MUX 编译错误