任何人都可以帮助我处理这个 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 代码,我想在循环之外控制数组吗?的主要内容,如果未能解决你的问题,请参考以下文章