首页 > 解决方案 > 如何从javascript中的表中获取复选框值?

问题描述

我有一个表格,每列都有复选框,我想获取'name'选中复选框的属性。下面是复选框的样子。每个复选框name与行和列都有不同的关联。name属性的语法是[row_name-col_name]

在此处输入图像描述

我在 JS 文件中尝试如下:

var formid = jQuery(elem).attr('id');
var checkdvalue = [];
var j = 0;

jQuery('#ecf_table').find('tr').each(function() {
  var row = jQuery(this);
  if (row.find('input[type="checkbox"]').is(':checked')) {
    checkdvalue[j++] = jQuery(row.find('input[type="checkbox"]')).attr('name');
  }
  alert(checkdvalue);
});

我需要一个类似于A.4-2,A.4-3,A.6-2上表的数组。但是我得到的A.4-1,A.6-1只是。请帮助我获得所需的价值。

标签: javascriptjquery

解决方案


您的代码的问题是您的选择器找到了一组复选框。然后调用attr()该集合,但该方法只会查看找到的第一个元素,而不是所有元素。

要使逻辑正常工作,您可以选择所有选中的框并使用map()它们来构建数组。使用该方法,您的所有代码都可以简化为:

var checkedvalue = $('#ecf_table :checkbox:checked').map(function() {
  return this.name;
});

推荐阅读