【问题标题】:can any one help me with this jquery code , i want to console the array out side the loop?任何人都可以帮助我处理这个 jquery 代码,我想在循环之外控制数组吗?
【发布时间】: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); '

标签: javascript jquery kendo-ui


【解决方案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 之外进行控制台
猜你喜欢
  • 2015-09-14
  • 1970-01-01
  • 1970-01-01
  • 2012-11-13
  • 2016-04-28
  • 1970-01-01
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多