为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery将选中的复选框的值获取到数组中

jQuery将选中的复选框的值获取到数组中

皈依舞 2019-12-12 13:48:18
我试图获取当前选中的所有复选框的值,并将它们存储到数组中。到目前为止,这是我的代码: $("#merge_button").click(function(event){    event.preventDefault();    var searchIDs = $("#find-table input:checkbox:checked").map(function(){      return $(this).val();    });    console.log(searchIDs);  });但是,此输出超出了我的需要。我不仅获得了价值,而且获得了一些我不想要的东西。[“ 51729b62c9f2673e4c000004”,“ 517299e7c9f26782a7000003”,“ 51729975c9f267f3b5000002”,prevObject:jQuery.fn.jQuery.init [3],上下文:文档,jquery:“ 1.9.1”,构造函数:函数,初始化:函数…]我只想要ID(在这种情况下为前3个项目)。通过使用$.each并将值推入数组,我得到了所需的输出:$("#find-table input:checkbox:checked").each(function(){ myArray.push($(this).val()); })[“ 51729b62c9f2673e4c000004”,“ 517299e7c9f26782a7000003”,“ 51729975c9f267f3b5000002”]但是,我想使用$.map,因为它可以节省一行代码并且更漂亮。
查看完整描述

3 回答

?
梦里花落0921

TA贡献1772条经验 获得超5个赞

最后调用.get(),将生成的jQuery对象转换为真实数组。


$("#merge_button").click(function(event){

    event.preventDefault();

    var searchIDs = $("#find-table input:checkbox:checked").map(function(){

      return $(this).val();

    }).get(); // <----

    console.log(searchIDs);

});

根据文档:


由于返回值是一个jQuery对象,它包含一个数组,因此在结果上调用.get()以使用基本数组是很常见的。


查看完整回答
反对 回复 2019-12-12
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

我对您的代码进行了一些重构,并相信我附带了您正在寻找的解决方案。基本上,不是将其设置searchIDs为.map()I 的结果,而是将值推入数组中。


$("#merge_button").click(function(event){

  event.preventDefault();


  var searchIDs = [];


  $("#find-table input:checkbox:checked").map(function(){

    searchIDs.push($(this).val());

  });


  console.log(searchIDs);

});


查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 762 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信